From aa478cb1613d4b2f9fc7ff8e17213f3f8708a641 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Fri, 12 Apr 2024 14:53:02 +0800 Subject: [PATCH 01/19] 1 --- ...allback_irtcengineeventhandler_onlocalvideostatechanged.dita | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita index a4bc372b0dc..1c498b7889e 100644 --- a/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita +++ b/dita/RTC-NG/API/callback_irtcengineeventhandler_onlocalvideostatechanged.dita @@ -44,7 +44,7 @@

摄像头输出采集的视频帧时,如果连续 15 帧中,所有视频帧都一样,SDK 触发 回调,状态为 ,错误码为 。注意,帧重复检测仅针对分辨率大于 200 × 200、帧率大于等于 10 fps、码率小于 20 Kbps 的视频帧。

From 1ed6ce88e776ae5c2136d6b36ce26330eb8154f5 Mon Sep 17 00:00:00 2001 From: jinyu Date: Fri, 12 Apr 2024 18:11:38 +0800 Subject: [PATCH 02/19] + --- dita/RTC-NG/release/release_notes.dita | 2 +- en-US/dita/RTC-NG/release/release_notes.dita | 583 ++++++------------- 2 files changed, 190 insertions(+), 395 deletions(-) diff --git a/dita/RTC-NG/release/release_notes.dita b/dita/RTC-NG/release/release_notes.dita index 9166efc64ef..7f6efe3530c 100644 --- a/dita/RTC-NG/release/release_notes.dita +++ b/dita/RTC-NG/release/release_notes.dita @@ -30,7 +30,7 @@ 如果你需要将集成 v4.3.1 之前的 SDK 版本的 App 发布到苹果应用商店,则需要在 Xcode 工程中手动添加 PrivacyInfo.xcprivacy 文件。详见
  • 人像锁定 (iOS, macOS)

    为提升在线会议、秀场、在线教育等场景中的主播演讲效果,该版本新增 方法开启人像锁定功能。该功能可确保主播无论移动与否,始终位于画面中心,以取得良好的演讲效果。

    -

    在开启人像锁定前,建议你先调用 查询当前设备性能是否支持该功能。支持的设备清单可参考 API 文档

    +

    在开启人像锁定前,建议你先调用 查询当前设备性能是否支持该功能。支持的设备清单可参考 API 文档

  • 摄像头防抖 (iOS)

    为改善在移动拍摄、暗光环境拍摄、手持拍摄等场景下的视频画面稳定性,该版本新增摄像头防抖功能。你可以调用 开启该功能并设置适合的防抖模式,以获得更加稳定、清晰的视频画面。

    diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index cc683ecec07..3884dd27798 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -1,245 +1,94 @@ - v4.3.0 + v4.3.1 -

    v4.3.0 was released on xx xx, 2024.

    +

    This version is released on 2024 Month x, Day x.

    - <topic id="compatibility"> - <title>Compatibility changes + + Upgrade Must-Read -

    This release has optimized the implementation of some functions, involving renaming or deletion of some APIs. To ensure the normal operation of the project, you need to update the code in the app after upgrading to this release.

    -
      -
    1. Raw video data callback behaviour change (Android)

      As of this release, the callback processing related to raw video data changes from the previous fixed single thread to a random thread, meaning that callback processing can occur on different threads. Due to limitations in the Android system, OpenGL must be tightly bound to a specific thread. Therefore, Agora suggests that you make one of the following modifications to your code:

        -
      • (Recommended) Use the TextureBufferHelper class to create a dedicated OpenGL thread for video pre-processing or post-processing (for example, image enhancement, stickers, etc.).
      • -
      • Use the eglMakeCurrent method to associate the necessary OpenGL context for each video frame with the current thread.
      • -

      -
    2. -
    3. Renaming parameters in callbacks

      In order to make the parameters in some callbacks and the naming of enumerations in enumeration classes easier to understand, the following modifications have been made in this release. Please modify the parameter settings in the callbacks after upgrading to this release. - - - - - - - Callback - Original parameter name - Existing parameter name - - - - - - error - reason - - - - error - reason - - - - error - reason - - - - errorCode - reason - - - - -
        -
      • status
      • -
      • state
      • -
      -
      - -
        -
      • errorCode
      • -
      • reason
      • -
      -
      -
      - - - errorCode - reason - - - - errorCode - reason - - - - errorCode - reason - - - - error - reason - - - - ec - reason - - - - errCode - reason - - - -
      - - - - - - Original enumeration class - Current enumeration class - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
      - For specific renaming of enumerations, please refer to .

      -
    4. -
    5. Channel media relay

      To improve interface usability, this release removes some methods and callbacks for channel meda relay. Use the alternative options listed in the table below: - - - - - - Deleted methods and callbacks - Alternative methods and callbacks - - - - - -
        -
      • -
      • -
      -
      - -
      - - -
        -
      • -
      • -
      -
      - -
      - - - - - - -

      -
    6. -
    7. Custom video source

      Since this release, pushExternalVideoFrameEx[1/2] and pushExternalVideoFrameEx[2/2] are renamed to and , and are migrated from to .

      -

      Since this release, pushExternalVideoFrame[1/2] is migrated from to .

      -
    8. -
    9. Audio route

      Since this release, RouteBluetooth is renamed to , representing a Bluetooth device using the HFP protocol. The (10) is added to represent a Bluetooth device using the A2DP protocol.

      -

      Since this release, ROUTE_BLUETOOTH in is renamed to , representing a Bluetooth device using the HFP protocol. (10) is added to represent a Bluetooth device using the A2DP protocol.

      -

      Starting with this release, AgoraAudioOutputRoutingBluetooth in is renamed to , representing a Bluetooth device using the HFP protocol. (10) is added to represent the audio route to a Bluetooth device using the A2DP protocol.

      -

      Starting with this release, routeBluetooth in is renamed to , representing a Bluetooth device using the HFP protocol. (10) is added to represent a Bluetooth device using the A2DP protocol.

      -

      Starting with this release, RouteBluetooth in is renamed to , representing a Bluetooth device using the HFP protocol. (10) is added to represent a Bluetooth device using the A2DP protocol.

      -
    10. -
    11. The state of the remote video

      To make the name of the enumeration easier to understand, this release changes the name of the enumeration from REMOTE_VIDEO_STATE_PLAYING to , while the meaning of the enumeration remains unchanged.

      -
    12. -
    13. Reasons for local video state changes

      This release makes the following modifications to the enumerations in the class:This release makes the following modifications:

        -
      • The value of (formerly ) has been changed from 23 to 28. (Windows)
      • -
      • The value of (formerly ) has been changed from 24 to 29. (Windows)
      • -
      • The enumeration has been changed to .
      • -

      -
    14. -
    15. Audio loopback capturing (Windows, macOS)

      -

        -
      • Before v4.3.0, if you call the method to disable the audio module, audio loopback capturing will not be disabled.
      • -
      • As of v4.3.0, if you call the method to disable the audio module, audio loopback capturing will be disabled as well. If you need to enable audio loopback capturing, you need to enable the audio module by calling the method and then call .
      • -
      -

      -
    16. -
    +

    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.

    - New features + New Features
      -
    1. Custom mixed video layout on receiving end (Android, iOS)

      To facilitate customized layout of mixed video stream at the receiver end, this release introduces the callback. When the receiver receives the channel's mixed video stream sent by the video mixing server, this callback is triggered, reporting the layout information of the mixed video stream and the layout information of each sub-video stream in the mixed stream. The receiver can set a separate view for rendering the sub-video stream (distinguished by subviewUid) in the mixed video stream when calling the method, achieving a custom video layout effect.

      -

      When the layout of the sub-video streams in the mixed video stream changes, this callback will also be triggered to report the latest layout information in real time.

      -

      Through this feature, the receiver end can flexibly adjust the local view layout. When applied in a multi-person video scenario, the receiving end only needs to receive and decode a mixed video stream, which can effectively reduce the CPU usage and network bandwidth when decoding multiple video streams on the receiving end.

      - For best practices regarding this feature in multi-host scenarios, see .
    2. -
    3. Local preview with multiple views

      This release supports local preview with simultaneous display of multiple frames, where the videos shown in the frames are positioned at different observation positions along the video link. Examples of usage are as follows:

        -
      1. Call to set the first view: Set the position parameter to (introduced in this release) in . This corresponds to the position after local video capture and before preprocessing. The video observed here does not have preprocessing effects.
      2. -
      3. Call to set the second view: Set the position parameter to in , the video observed here has the effect of video preprocessing.
      4. -
      5. Observe the local preview effect: The first view is the original video of a real person; the second view is the virtual portrait after video preprocessing (including image enhancement, virtual background, and local preview of watermarks) effects.
      6. -
      -
        -
      1. Create the first view: Set the position parameter to (introduced in this release) in . This corresponds to the position after local video capture and before preprocessing. The video observed here does not have preprocessing effects.
      2. -
      3. Create the second view: Set the position parameter to in , the video observed here has the effect of video preprocessing.
      4. -
      5. Observe the local preview effect: The first view is the original video of a real person; the second view is the virtual portrait after video preprocessing (including image enhancement, virtual background, and local preview of watermarks) effects.
      6. -
      +
    4. Voice-Driven Virtual Characters +

      The SDK introduces a voice-driven plugin that converts voice information into corresponding facial expressions to animate virtual characters. You can access processed 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 voice-driven plugin is a trimmable dynamic library, and details about the increase in app size post-integration are available at .

      + +
        +
      • The Agora SDK extension plugin, MetaKit, simplifies the implementation process of animating virtual characters with voice, eliminating the need to build your own framework for collection, encoding, and transmission. Detailed introduction and integration guidance for MetaKit are available at .
      • +
      • The voice-driven virtual character feature is currently in beta testing. To use it, please .
      • +
      +
      +
    5. +
    6. 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. For more details, see . +
    7. +
    8. 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 using . A list of supported devices can be found in the API documentation at .

      +
    9. +
    10. 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.

      +
    11. +
    12. Wide and Ultra-Wide Cameras (Android, iOS) +

      This release introduces support for wide and ultra-wide cameras, allowing users to capture a broader field of view and more complete scene content. You can first check the device's focal length capabilities by calling , and then set the cameraFocalLengthType to the supported focal length types, including wide and ultra-wide, by calling .

      +
    13. +
    14. Multi-Camera Capture (Android) +

      This version introduces additional functionalities for Android camera capture: +

        +
      1. Support for capturing and publishing video streams from the third and fourth cameras: +
          +
        • New enumerations (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 with .
        • +
        • Support for the third and fourth camera sources has been added to for Android, allowing you to specify up to four camera streams when initiating camera capture with .
        • +
        • New members publishThirdCameraTrack and publishFourthCameraTrack have been added to . Set these member parameters to when joining a channel with to broadcast video streams captured from the third and fourth cameras.
        • +
        • Support for publishing video streams from the third and fourth cameras has been added to for Android. Set these member parameters to when joining a channel with .
        • +
        +
      2. +
      3. Support for specifying cameras by camera ID: +
          +
        • A new member cameraId has been 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 API and specify the desired camera by calling with the cameraId.
        • +
        • New functionality supports switching cameras by cameraId, allowing apps to dynamically adjust camera usage during operation based on available cameras.
        • +
        +

        A new member cameraId has been added to . For devices with multiple cameras, where cameraDirection cannot identify or access all available cameras, you can specify the camera by obtaining the camera ID through system APIs and calling with the cameraId.

        +
      4. +

    15. -
    16. Query Device Score

      This release adds the method to query the device's score level to ensure that the user-set parameters do not exceed the device's capabilities. For example, in HD or UHD 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 .

      -
    17. -
    18. Select different audio tracks for local playback and streaming

      This release introduces the method that allows you to select different audio tracks for local playback and streaming to remote users. For example, in scenarios like online karaoke, the host can choose to play the original sound locally and publish the accompaniment in the channel. Before using this function, you need to open the media file through the method and enable this function by setting the enableMultiAudioTrack parameter in .

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

    20. -
    21. Audio playback device test

      This release introduces the method to allow you to test whether you local audio device for playback works properly. You can specify the audio file to be played through the testAudioFilePath parameter and see if your audio device works properly. After the test is completed, you need to call the newly added method to stop the test.

      +
    22. 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.
      • +
      +

    23. -
    24. Device test for audio capturing and playback

      This release introduces the following methods to test whether the audio capturing or playback devices work properly before joining a channel:

        -
      • : Tests whether the local audio capturing device, such as the speaker, is working properly. After calling this method, the SDK triggers a callback at the time interval set in this method, which reports uid = 0 and the volume information of the capturing device. After the test is completed, you need to call the newly added method to stop the test.
      • -
      • : Tests whether the local audio playback device is working properly. You can specify the audio file to be played through the testAudioFilePath parameter and see if your audio device works properly. After the test is completed, you need to call the newly added method to stop the test.
      • -

      +
    25. Adaptive Configuration for Small Video Streams +

      This version introduces adaptive configuration for small video streams. When you activate dual-stream mode and set up small video streams on the sending side using , the SDK defaults to the following behaviors: +

        +
      • The default encoding resolution for small 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.
      • +
      +

    26. -
    27. Others

      This release has passed the test verification of the following APIs and can be applied to the entire series of RTC 4.x SDK.

        -
      • : Sets fallback option for the subscribed video stream in weak network conditions.
      • -
      • : Occurs when the subscribed video stream falls back to audio-only stream due to weak network conditions or switches back to the video stream after the network conditions improve.
      • -
      • (Windows): Sets the volume of the audio playback device.
      • -
      • (Windows): Sets the volume of the audio capturing device.
      • -
      • and : Sets media player options for providing technical previews or special customization features.
      • -
      • : Sets whether to enable the local playback of external audio source.
      • -

      +
    28. 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.
      • +
      +

    @@ -248,196 +97,142 @@ Improvements
      -
    1. SDK task processing scheduling optimization

      This release optimizes the scheduling mechanism for internal tasks within the SDK, with improvements in the following aspects:

        -
      • There is a noticeable increase in the speed of video rendering and audio playback for both remote and local first frames.
      • -
      • The time taken for API calls and response is reduced by more than 50%.
      • -
      • The SDK's parallel processing capability significantly improves, delivering higher video quality (720P, 24 fps) even on lower-end devices. Additionally, image processing remains more stable in scenarios involving high resolutions and frame rates.
      • -
      • The stability of the SDK is further enhanced, leading to a noticeable decrease in the crash rate across various specific scenarios.
      • -

      +
    2. Optimization for Game Scene Screen Sharing (Windows) +

      This version specifically optimizes screen sharing for game scenes, 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. -
    4. In-ear monitoring volume boost

      This release provides users with more flexible in-ear monitoring audio adjustment options, supporting the ability to set the in-ear monitoring volume to four times the original volume by calling .

      +
    5. +

      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:

      +
        +
      • (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.
      • +
    6. -
    7. Dual-stream mode optimization

      This release optimizes the video dual-stream mode. In the low-quality video stream adaptive mode (), when the receiver requests a low-quality video stream by calling or , the sender no longer restricts the identity of the request source to be the broadcaster. This adjustment ensures that the audience‘s request for a low-quality video stream takes effect, improving the flexibility and adaptability of the low-quality video stream.

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

    9. -
    10. Spatial audio effects usability improvement
        -
      • This release optimizes the design of the method, supporting the ability to set the zones parameter to NULL, indicating the clearing of all echo cancellation zones.
      • -
      • As of this release, it is no longer necessary to unsubscribe from the audio streams of all remote users within the channel before calling the method.
      • -
      • This release introduces the method, designed to pass position vectors for direct rendering in iOS native frameworks such as SceneKit or RealityKit.
      • -
    11. -
    12. Local audio state changed callback optimization

      This release introduces the following enumerations in , enabling users to obtain more details about local audio errors through the callback:

        -
      • : No recording device is available. 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.
      • -
      • : No playback device is available. 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.
      • -
      • : The local audio capture is interrupted by system calls, Siri, or alarm clocks. Remind your users to end the phone call, Siri, or alarm clock if the local audio capture is required.
      • -

      +
    13. Audio Device Type Detection +

      This version adds the deviceTypeName member to , used to identify the type of audio devices, such as built-in, USB, HDMI, etc.

    14. -
    15. Optimization of video pre-processing methods

      This release adds overloaded methods with the souceType parameter for the following 5 video preprocessing methods, which support specifying the media source type for applying video preprocessing effects by passing in sourceType (for example, applying on a custom video capture media source):

      -
        -
      • -
      • -
      • -
      • -
      • -
      +
    16. 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.
      • +
      +

    17. -
    18. Other Improvements

      This release also includes the following improvements:

        -
      • Optimizes algorithms in the video module, reduces bandwidth requirements during video transmission, and enhances the video experience for users while maintaining network stability.
      • -
      • Adds codecType in to set the video encoding type.
      • -
      • Adds allowCaptureCurrentApp member in , which is used to set whether to capture audio from the current app during screen sharing. The default value of this member is , which means it collects the audio from the current app by default. In certain scenarios, the shared screen audio captured by the app may cause echo on the remote side due to signal delay and other reasons. Agora suggests setting this member as to eliminate the remote echo introduced during the screen sharing process.
      • -
      • The callback is improved with the inclusion of the enumeration, singaling unexpected errors during the screen sharing process (potentially due to window blocking failure), resulting in performance degradation without impacting the screen sharing process itself. (Windows)
      • -
      • This release optimizes the SDK's domain name resolution strategy, improving the stability of calling to resolve domain names in complex network environments.
      • -
      • When passing in an image with transparent background as the virtual background image, the transparent background can be filled with customized color.
      • -
      • This release adds the earMonitorDelay and aecEstimatedDelay members in to report ear monitor delay and acoustic echo cancellation (AEC) delay, respectively.
      • -
      • When using the sound card for recording, it supports capturing audio data in stereo.
      • -
      • The callback is added to reports the statistics of the media file being cached. This callback is triggered once per second after file caching is started.
      • -
      • The callback is added to reports the statistics of the media file being played. This callback is triggered once per second after the media file starts playing. You can obtain information like the audio and video bitrate of the media file through .
      • -
      • An error code is added to suggest that an internal error in HTTP. You can try again later. (Android, iOS)
      • -

      +
    19. Custom Audio Capture Optimization +

      To enhance the flexibility of custom audio capture, this version 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.

      +
    20. +
    21. Reducing CPU Usage for Ear Return +

      In this version within , a new enumeration (1 <<15) is added. This option is designated for complex sound effect processing scenarios, allowing the reuse of audio filters processed on the sender's side to reduce CPU consumption. Note that this option may increase ear return latency, suitable for scenarios less sensitive to such delays.

      +
    22. +
    23. 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, , enhances the spatial presence of vocals in chorus scenarios. (Android)
      • +
      • In , a new e2eDelay field is added to report the delay from the audio capture on the sending end to the start of audio playback on the receiving end.
      • +
      +

    - Issues fixed + Bug Fixes -

    This release fixed the following issues:

    +

    This version resolves the following issues:

      -
    • When sharing two screen sharing video streams simultaneously, the reported captureFrameRate in the callback is 0, which is not as expected.
    • -
    • When sharing in a specified screen area, the mouse coordinates within the shared area are inaccurate. When the mouse is near the border of the shared area, the mouse may not be visible in the shared screen. (Windows)
    • -
    • The SDK failed to detect any changes in the audio routing after plugging in and out 3.5mm earphones. (Windows)
    • -
    • In a online meeting scenario, occasional audio freezes occured when the local user was listening to remote users.
    • +
    • 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.
    • +
    • 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 audio-video 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)
    - API changes + API Changes -

    Added

      -
    • (Android, iOS)
    • -
    • (Android, iOS)
    • -
    • The subviewUid member in
    • -
    • The codecType member in
    • -
    • The allowCaptureCurrentApp member in
    • -
    • -
    • The following enumerations in :

        -
      • -
      • -

    • -
    • -
    • -
    • The enumeration in
    • -
    • -
    • -
    • -
    • -
    • -
    • The enumeration in
    • -
    • The enumeration
    • -
    • Adds the earMonitorDelay and aecEstimatedDelay
    • -
    • -
    • -
    • -
    • -
    • in (Android, iOS)
    • -
    • -
    • -

    -

    Modified

      -
    • pushExternalVideoFrameEx[1/2] and pushExternalVideoFrameEx[2/2] are renamed to pushExternalVideoFrameById[1/2] and pushExternalVideoFrameById[2/2], and are migrated from to
    • -
    • pushExternalVideoFrame[1/2] is migrated from to
    • -
    • REMOTE_VIDEO_STATE_PLAYING enumeration name changed to
    • -
    • ROUTE_BLUETOOTH is renamed as
    • -
    • AgoraAudioOutputRoutingBluetooth is renamed as
    • -
    • routeBluetooth is renamed as
    • -
    • routeBluetooth is renamed as
    • -
    • All ERROR fields in the following enumerations are changed to REASON:

        -
      • -
      • -
      • -
      • -
      • -
      • -
      • (Windows)
      • -
      • (Windows)
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • (iOS)
      • -
      • (iOS)
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • (Windows)
      • -
      • (Windows)
      • -
      • (Windows)
      • -
      • (Windows)
      • -
      • (Windows)
      • -
      • (Windows)
      • -
      • (Windows)
      • -
      • (Windows)
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -
      • -

    • -
    • is renamed as , and the StatusErr in all enumerators is changed to Reason: (Android, iOS)
        -
      • -
      • -
      • -
      • -
      • +

        New +

          +
        • (iOS, macOS)
        • +
        • (iOS, macOS)
        • +
        • (iOS)
        • +
        • (iOS)
        • +
        • adds surfaceTexture and enableAlphaMask
        • +
        • adds enableAlphaMask
        • +
        • adds the following enumerations: +
            +
          • LOCAL_VIDEO_STREAM_REASON_DEVICE_INTERRUPT
          • +
          • LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR
          • +
          • +
        • +
        • adds datastreamEncryptionEnabled
        • +
        • adds the following enumerations: +
            +
          • +
          • +
        • +
        • +
        • +
        • (macOS)
        • +
        • (macOS)
        • +
        • (macOS)
        • +
        • (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
        • -
        • is changed to
        • +
        • adds a new member cameraId (Android)
        • +
        • adds CAMERA_EXTRA(2)
        • +
        • +
        • adds a new enumeration (1 <<15)
        • +

        -

        Deleted

          -
        • -
        • -
        • -
        • -
        • -
        • +

          Deprecated +

            +

          - + \ No newline at end of file From 66fbc4f5346804721da8224b53cf74d0a691e5e2 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Mon, 15 Apr 2024 14:39:34 +0800 Subject: [PATCH 03/19] 1 --- en-US/dita/RTC-NG/release/release_notes.dita | 26 ++++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index 3884dd27798..e7f5650e1ba 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -27,15 +27,15 @@
        -
      • Privacy Manifest File (iOS) +
      • 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. For more details, see .
      • -
      • Center Stage Camera (iOS, macOS) +
      • 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 using . A list of supported devices can be found in the API documentation at .

        +

        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 .

      • -
      • Camera Stabilization (iOS) +
      • 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.

      • Wide and Ultra-Wide Cameras (Android, iOS) @@ -73,15 +73,15 @@

    • -
    • Adaptive Configuration for Small Video Streams -

      This version introduces adaptive configuration for small video streams. When you activate dual-stream mode and set up small video streams on the sending side using , the SDK defaults to the following behaviors: +

    • 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 small video streams is set to 50% of the original video encoding resolution.
      • +
      • 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 +
    • Other features

      • New method is added for enabling media stream or data stream encryption in multi-channel scenarios.
      • @@ -97,11 +97,11 @@ Improvements
          -
        1. Optimization for Game Scene Screen Sharing (Windows) -

          This version specifically optimizes screen sharing for game scenes, 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

          +

          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:

            @@ -110,7 +110,7 @@
          • (27): The window being captured for screen sharing has recovered from a minimized state.
        4. -
        5. Camera Capture Improvements +
        6. 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.

        7. Audio Device Type Detection @@ -131,7 +131,7 @@
        8. Reducing CPU Usage for Ear Return

          In this version within , a new enumeration (1 <<15) is added. This option is designated for complex sound effect processing scenarios, allowing the reuse of audio filters processed on the sender's side to reduce CPU consumption. Note that this option may increase ear return latency, suitable for scenarios less sensitive to such delays.

        9. -
        10. Other Improvements +
        11. 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)
          • From d02830784dd3a34ba6c707d4cefd280dfe7bc4e9 Mon Sep 17 00:00:00 2001 From: Nero-Hu Date: Mon, 15 Apr 2024 15:02:00 +0800 Subject: [PATCH 04/19] fix getCallIdEx title --- dita/RTC-NG/API/api_irtcengineex_getcallidex.dita | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita b/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita index 3af6fef9b49..741842410ec 100644 --- a/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita +++ b/dita/RTC-NG/API/api_irtcengineex_getcallidex.dita @@ -1,7 +1,7 @@ - getCallIdEx + <ph keyref="getCallIdEx" /> 使用连接 ID 获取通话 ID。 From 9bdfec12dc4ad171d78502b1ea123e96a7d53387 Mon Sep 17 00:00:00 2001 From: jinyu Date: Mon, 15 Apr 2024 15:17:40 +0800 Subject: [PATCH 05/19] Update release_notes.dita --- en-US/dita/RTC-NG/release/release_notes.dita | 30 ++++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index 3884dd27798..a56ac293c41 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -38,26 +38,26 @@
          • 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.

          • -
          • Wide and Ultra-Wide Cameras (Android, iOS) -

            This release introduces support for wide and ultra-wide cameras, allowing users to capture a broader field of view and more complete scene content. You can first check the device's focal length capabilities by calling , and then set the cameraFocalLengthType to the supported focal length types, including wide and ultra-wide, by calling .

            +
          • 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 version introduces additional functionalities for Android camera capture: +

          • 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 enumerations (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 with .
              • -
              • Support for the third and fourth camera sources has been added to for Android, allowing you to specify up to four camera streams when initiating camera capture with .
              • -
              • New members publishThirdCameraTrack and publishFourthCameraTrack have been added to . Set these member parameters to when joining a channel with to broadcast video streams captured from the third and fourth cameras.
              • -
              • Support for publishing video streams from the third and fourth cameras has been added to for Android. Set these member parameters to when joining a channel with .
              • +
              • 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. Support for specifying cameras by camera ID:
                -
              • A new member cameraId has been 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 API and specify the desired camera by calling with the cameraId.
              • -
              • New functionality supports switching cameras by cameraId, allowing apps to dynamically adjust camera usage during operation 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.
              • +
              • New method supports switching cameras by cameraId, allowing apps to dynamically adjust camera usage during runtime based on available cameras.
              -

              A new member cameraId has been added to . For devices with multiple cameras, where cameraDirection cannot identify or access all available cameras, you can specify the camera by obtaining the camera ID through system APIs and calling with the 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.

            @@ -125,11 +125,11 @@

        12. -
        13. Custom Audio Capture Optimization -

          To enhance the flexibility of custom audio capture, this version 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.

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

        15. -
        16. Reducing CPU Usage for Ear Return -

          In this version within , a new enumeration (1 <<15) is added. This option is designated for complex sound effect processing scenarios, allowing the reuse of audio filters processed on the sender's side to reduce CPU consumption. Note that this option may increase ear return latency, suitable for scenarios less sensitive to such delays.

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

        18. Other Improvements

          This version also includes the following improvements: From c2acd53921d3669bacd0b4df0861f983ff2bc660 Mon Sep 17 00:00:00 2001 From: Nero-Hu Date: Mon, 15 Apr 2024 16:18:21 +0800 Subject: [PATCH 06/19] Speech Driven R.I.P. --- dita/RTC-NG/API/enum_mediasourcetype.dita | 2 +- dita/RTC-NG/API/enum_videosourcetype.dita | 2 +- dita/RTC-NG/API/rtc_api_overview.dita | 8 -------- dita/RTC-NG/RTC_NG_API_Android.ditamap | 5 ----- dita/RTC-NG/RTC_NG_API_CPP.ditamap | 5 ----- dita/RTC-NG/RTC_NG_API_iOS.ditamap | 5 ----- dita/RTC-NG/RTC_NG_API_macOS.ditamap | 5 ----- dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap | 14 -------------- dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap | 14 -------------- .../RTC-NG/config/keys-rtc-ng-api-java.ditamap | 14 -------------- .../config/keys-rtc-ng-api-macos.ditamap | 14 -------------- .../RTC-NG/config/relations-rtc-ng-api.ditamap | 18 ------------------ dita/RTC-NG/release/release_notes.dita | 12 ------------ en-US/dita/RTC-NG/release/release_notes.dita | 14 -------------- 14 files changed, 2 insertions(+), 130 deletions(-) diff --git a/dita/RTC-NG/API/enum_mediasourcetype.dita b/dita/RTC-NG/API/enum_mediasourcetype.dita index 9c98ab8236e..46eb49347ef 100644 --- a/dita/RTC-NG/API/enum_mediasourcetype.dita +++ b/dita/RTC-NG/API/enum_mediasourcetype.dita @@ -27,7 +27,7 @@ 6: 自定义采集的视频源。 - + 13: 视频源为语音驱动插件处理后的视频。 diff --git a/dita/RTC-NG/API/enum_videosourcetype.dita b/dita/RTC-NG/API/enum_videosourcetype.dita index 7cebd886cc9..2b18e509178 100644 --- a/dita/RTC-NG/API/enum_videosourcetype.dita +++ b/dita/RTC-NG/API/enum_videosourcetype.dita @@ -75,7 +75,7 @@ 14:(仅适用于 Windows 和 macOS)视频源为第四个屏幕。 - + 15:视频源为语音驱动插件处理后的视频。 diff --git a/dita/RTC-NG/API/rtc_api_overview.dita b/dita/RTC-NG/API/rtc_api_overview.dita index 1e69daa4f94..bd24c3bcf50 100644 --- a/dita/RTC-NG/API/rtc_api_overview.dita +++ b/dita/RTC-NG/API/rtc_api_overview.dita @@ -1061,14 +1061,6 @@ - - - - - - - -

          diff --git a/dita/RTC-NG/RTC_NG_API_Android.ditamap b/dita/RTC-NG/RTC_NG_API_Android.ditamap index 2fff761567e..b8b4babbccd 100644 --- a/dita/RTC-NG/RTC_NG_API_Android.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Android.ditamap @@ -25,7 +25,6 @@ - @@ -310,10 +309,6 @@ - - - - diff --git a/dita/RTC-NG/RTC_NG_API_CPP.ditamap b/dita/RTC-NG/RTC_NG_API_CPP.ditamap index b6292f5d23a..5454d943bd3 100644 --- a/dita/RTC-NG/RTC_NG_API_CPP.ditamap +++ b/dita/RTC-NG/RTC_NG_API_CPP.ditamap @@ -25,7 +25,6 @@ - @@ -320,10 +319,6 @@ - - - - diff --git a/dita/RTC-NG/RTC_NG_API_iOS.ditamap b/dita/RTC-NG/RTC_NG_API_iOS.ditamap index d43a72e4098..35ee7288fef 100644 --- a/dita/RTC-NG/RTC_NG_API_iOS.ditamap +++ b/dita/RTC-NG/RTC_NG_API_iOS.ditamap @@ -25,7 +25,6 @@ - @@ -317,10 +316,6 @@ - - - - diff --git a/dita/RTC-NG/RTC_NG_API_macOS.ditamap b/dita/RTC-NG/RTC_NG_API_macOS.ditamap index c84d0a19e56..fe8f84abc9d 100644 --- a/dita/RTC-NG/RTC_NG_API_macOS.ditamap +++ b/dita/RTC-NG/RTC_NG_API_macOS.ditamap @@ -24,7 +24,6 @@ - @@ -311,10 +310,6 @@ - - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap index 26de3f9436a..a64b101298c 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -1295,13 +1295,6 @@ - - - - registerFaceInfoObserver - - - @@ -5116,13 +5109,6 @@ - - - - onFaceInfo - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap index df55a1c9a8f..add31b39a40 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap @@ -1258,13 +1258,6 @@ - - - - setFaceInfoDelegate - - - @@ -4567,13 +4560,6 @@ - - - - onFaceInfo - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap index 6001ef62694..66af34c3991 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap @@ -1250,13 +1250,6 @@ - - - - registerFaceInfoObserver - - - @@ -4778,13 +4771,6 @@ - - - - onFaceInfo - - - diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap index 33a8be2bb3b..9bbb110fb01 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap @@ -1208,13 +1208,6 @@ - - - - setFaceInfoDelegate - - - @@ -4279,13 +4272,6 @@ - - - - onFaceInfo - - - diff --git a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap index 8e35288a20a..2036227c4a2 100644 --- a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap +++ b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap @@ -939,14 +939,6 @@ - - - - - - - - @@ -2358,7 +2350,6 @@ - @@ -2912,7 +2903,6 @@ - @@ -3215,14 +3205,6 @@ - - - - - - - - diff --git a/dita/RTC-NG/release/release_notes.dita b/dita/RTC-NG/release/release_notes.dita index 7f6efe3530c..aa22659278c 100644 --- a/dita/RTC-NG/release/release_notes.dita +++ b/dita/RTC-NG/release/release_notes.dita @@ -17,14 +17,6 @@ 新增特性
            -
          1. 语音驱动虚拟人 -

            SDK 新增语音驱动插件,可以将语音信息转换为对应口型的人脸信息,用于驱动虚拟人面部做出语音对应的口型变化。你可以通过该版本新增的 方法和 回调获取语音驱动插件处理后的人脸信息。该人脸信息为符合 ARkit 标准的 BS(Blend Shape)数据,你可以使用第三方 3D 渲染引擎对 BS 数据进一步处理。

            -

            语音驱动插件为可裁剪动态库,集成后 App 增加的体积等信息详见

            - -
              -
            • 声网 SDK 拓展插件 MetaKit 可帮助你简化语音驱动虚拟人的实现流程,无需自行搭建采集、编码和传输的框架。有关 MetaKit 的介绍和集成指导,详见
            • -
            • 语音驱动虚拟人功能处于公测阶段,如需使用请
            • -
          2. 隐私清单文件 (iOS)

            为满足 Apple 对于 App 发布的安全合规要求,SDK 自该版本起新增隐私清单文件 PrivacyInfo.xcprivacy,其中包含 SDK 中需要访问或使用用户数据的 API 调用说明和 SDK 采集的数据类型说明。

            如果你需要将集成 v4.3.1 之前的 SDK 版本的 App 发布到苹果应用商店,则需要在 Xcode 工程中手动添加 PrivacyInfo.xcprivacy 文件。详见
          3. @@ -201,10 +193,6 @@
          4. 新增
          5. -
          6. -
          7. -
          8. -
          9. (Android, iOS)
          10. (Android, iOS)
          11. diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index a923ae70577..4a6ee565666 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -17,16 +17,6 @@ New Features
              -
            1. Voice-Driven Virtual Characters -

              The SDK introduces a voice-driven plugin that converts voice information into corresponding facial expressions to animate virtual characters. You can access processed 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 voice-driven plugin is a trimmable dynamic library, and details about the increase in app size post-integration are available at .

              - -
                -
              • The Agora SDK extension plugin, MetaKit, simplifies the implementation process of animating virtual characters with voice, eliminating the need to build your own framework for collection, encoding, and transmission. Detailed introduction and integration guidance for MetaKit are available at .
              • -
              • The voice-driven virtual character feature is currently in beta testing. To use it, please .
              • -
              -
              -
            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. For more details, see . @@ -203,10 +193,6 @@
            3. adds , enhancing the spatial presence of vocals in chorus scenarios.
            4. is added, enhancing the spatial presence of vocals in chorus scenarios. (Android)
            5. -
            6. -
            7. -
            8. -
            9. (Android, iOS)
            10. (Android, iOS)
            11. From 35267bd5292de87a5f3ba31a09791773f348178a Mon Sep 17 00:00:00 2001 From: Nero-Hu Date: Mon, 15 Apr 2024 08:18:56 +0000 Subject: [PATCH 07/19] Sync cn prototype to en prototype --- .../dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap | 14 -------------- .../dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap | 14 -------------- .../RTC-NG/config/keys-rtc-ng-api-java.ditamap | 14 -------------- .../RTC-NG/config/keys-rtc-ng-api-macos.ditamap | 14 -------------- 4 files changed, 56 deletions(-) diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap index 26de3f9436a..a64b101298c 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -1295,13 +1295,6 @@ - - - - registerFaceInfoObserver - - - @@ -5116,13 +5109,6 @@ - - - - onFaceInfo - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap index df55a1c9a8f..add31b39a40 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap @@ -1258,13 +1258,6 @@ - - - - setFaceInfoDelegate - - - @@ -4567,13 +4560,6 @@ - - - - onFaceInfo - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap index 6001ef62694..66af34c3991 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap @@ -1250,13 +1250,6 @@ - - - - registerFaceInfoObserver - - - @@ -4778,13 +4771,6 @@ - - - - onFaceInfo - - - diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap index 33a8be2bb3b..9bbb110fb01 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap @@ -1208,13 +1208,6 @@ - - - - setFaceInfoDelegate - - - @@ -4279,13 +4272,6 @@ - - - - onFaceInfo - - - From c11962a7ac7272205d9859118a97d58fc6f3c642 Mon Sep 17 00:00:00 2001 From: Nero-Hu Date: Mon, 15 Apr 2024 16:26:20 +0800 Subject: [PATCH 08/19] Speech Driven R.I.P. --- dita/RTC-NG/API/rtc_api_overview.dita | 8 ++++++++ dita/RTC-NG/RTC_NG_API_Android.ditamap | 5 +++++ dita/RTC-NG/RTC_NG_API_CPP.ditamap | 5 +++++ dita/RTC-NG/RTC_NG_API_iOS.ditamap | 5 +++++ dita/RTC-NG/RTC_NG_API_macOS.ditamap | 5 +++++ dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap | 16 +++++++++++++++- dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap | 16 +++++++++++++++- .../RTC-NG/config/keys-rtc-ng-api-java.ditamap | 16 +++++++++++++++- .../config/keys-rtc-ng-api-macos.ditamap | 16 +++++++++++++++- .../RTC-NG/config/relations-rtc-ng-api.ditamap | 18 ++++++++++++++++++ 10 files changed, 106 insertions(+), 4 deletions(-) diff --git a/dita/RTC-NG/API/rtc_api_overview.dita b/dita/RTC-NG/API/rtc_api_overview.dita index bd24c3bcf50..55c71f3dfe7 100644 --- a/dita/RTC-NG/API/rtc_api_overview.dita +++ b/dita/RTC-NG/API/rtc_api_overview.dita @@ -1061,6 +1061,14 @@ + + + + + + + +
          diff --git a/dita/RTC-NG/RTC_NG_API_Android.ditamap b/dita/RTC-NG/RTC_NG_API_Android.ditamap index b8b4babbccd..954b04a957f 100644 --- a/dita/RTC-NG/RTC_NG_API_Android.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Android.ditamap @@ -25,6 +25,7 @@ + @@ -309,6 +310,10 @@ + + + + diff --git a/dita/RTC-NG/RTC_NG_API_CPP.ditamap b/dita/RTC-NG/RTC_NG_API_CPP.ditamap index 5454d943bd3..aabdb72d792 100644 --- a/dita/RTC-NG/RTC_NG_API_CPP.ditamap +++ b/dita/RTC-NG/RTC_NG_API_CPP.ditamap @@ -25,6 +25,7 @@ + @@ -319,6 +320,10 @@ + + + + diff --git a/dita/RTC-NG/RTC_NG_API_iOS.ditamap b/dita/RTC-NG/RTC_NG_API_iOS.ditamap index 35ee7288fef..7341f56ce62 100644 --- a/dita/RTC-NG/RTC_NG_API_iOS.ditamap +++ b/dita/RTC-NG/RTC_NG_API_iOS.ditamap @@ -25,6 +25,7 @@ + @@ -316,6 +317,10 @@ + + + + diff --git a/dita/RTC-NG/RTC_NG_API_macOS.ditamap b/dita/RTC-NG/RTC_NG_API_macOS.ditamap index fe8f84abc9d..78e86ea5727 100644 --- a/dita/RTC-NG/RTC_NG_API_macOS.ditamap +++ b/dita/RTC-NG/RTC_NG_API_macOS.ditamap @@ -24,6 +24,7 @@ + @@ -310,6 +311,10 @@ + + + + diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap index a64b101298c..07e829b6960 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -216,7 +216,7 @@ - + IFaceInfoObserver @@ -1295,6 +1295,13 @@ + + + + registerFaceInfoObserver + + + @@ -5109,6 +5116,13 @@ + + + + onFaceInfo + + + diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap index add31b39a40..1ce0eadfc3c 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap @@ -202,7 +202,7 @@ - + AgoraFaceInfoDelegate @@ -1258,6 +1258,13 @@ + + + + setFaceInfoDelegate + + + @@ -4560,6 +4567,13 @@ + + + + onFaceInfo + + + diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap index 66af34c3991..90f008a18ef 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap @@ -173,7 +173,7 @@ - + IFaceInfoObserver @@ -1250,6 +1250,13 @@ + + + + registerFaceInfoObserver + + + @@ -4771,6 +4778,13 @@ + + + + onFaceInfo + + + diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap index 9bbb110fb01..238668cb79b 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap @@ -173,7 +173,7 @@ - + AgoraFaceInfoDelegate @@ -1208,6 +1208,13 @@ + + + + setFaceInfoDelegate + + + @@ -4272,6 +4279,13 @@ + + + + onFaceInfo + + + diff --git a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap index 2036227c4a2..80484704c03 100644 --- a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap +++ b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap @@ -939,6 +939,14 @@ + + + + + + + + @@ -2350,6 +2358,7 @@ + @@ -2903,6 +2912,7 @@ + @@ -3205,6 +3215,14 @@ + + + + + + + + From 65e4fd71179945872b2fba30ca50aa517dbc10ba Mon Sep 17 00:00:00 2001 From: Nero-Hu Date: Mon, 15 Apr 2024 08:27:18 +0000 Subject: [PATCH 09/19] Sync cn prototype to en prototype --- .../RTC-NG/config/keys-rtc-ng-api-cpp.ditamap | 16 +++++++++++++++- .../RTC-NG/config/keys-rtc-ng-api-ios.ditamap | 16 +++++++++++++++- .../RTC-NG/config/keys-rtc-ng-api-java.ditamap | 16 +++++++++++++++- .../RTC-NG/config/keys-rtc-ng-api-macos.ditamap | 16 +++++++++++++++- 4 files changed, 60 insertions(+), 4 deletions(-) diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap index a64b101298c..07e829b6960 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -216,7 +216,7 @@ - + IFaceInfoObserver @@ -1295,6 +1295,13 @@ + + + + registerFaceInfoObserver + + + @@ -5109,6 +5116,13 @@ + + + + onFaceInfo + + + diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap index add31b39a40..1ce0eadfc3c 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap @@ -202,7 +202,7 @@ - + AgoraFaceInfoDelegate @@ -1258,6 +1258,13 @@ + + + + setFaceInfoDelegate + + + @@ -4560,6 +4567,13 @@ + + + + onFaceInfo + + + diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap index 66af34c3991..90f008a18ef 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap @@ -173,7 +173,7 @@ - + IFaceInfoObserver @@ -1250,6 +1250,13 @@ + + + + registerFaceInfoObserver + + + @@ -4771,6 +4778,13 @@ + + + + onFaceInfo + + + diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap index 9bbb110fb01..238668cb79b 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap @@ -173,7 +173,7 @@ - + AgoraFaceInfoDelegate @@ -1208,6 +1208,13 @@ + + + + setFaceInfoDelegate + + + @@ -4272,6 +4279,13 @@ + + + + onFaceInfo + + + From f2e08181f5212c49fa29195acd244c32c59e9d5f Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Mon, 15 Apr 2024 17:43:21 +0800 Subject: [PATCH 10/19] 1 --- en-US/dita/RTC-NG/release/release_notes.dita | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index 4a6ee565666..5d2f09fff57 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -139,9 +139,9 @@ - Bug Fixes + Issues fixed -

          This version resolves the following issues:

          +

          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)
          • @@ -150,7 +150,7 @@
          • 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 audio-video interactions, when a local user set the system default playback device to speakers using , there was no sound from the remote end. (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)
          • @@ -161,15 +161,15 @@ API Changes -

            New +

            Added

            • (iOS, macOS)
            • (iOS, macOS)
            • (iOS)
            • (iOS)
            • -
            • adds surfaceTexture and enableAlphaMask
            • -
            • adds enableAlphaMask
            • -
            • adds the following enumerations: +
            • 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
              • From f5a0f1ee3225750cbbab857a38bc60f9a583241b Mon Sep 17 00:00:00 2001 From: Nero-Hu Date: Tue, 16 Apr 2024 10:32:22 +0800 Subject: [PATCH 11/19] add en props to speech driven --- dita/RTC-NG/API/enum_mediasourcetype.dita | 2 +- dita/RTC-NG/API/enum_videosourcetype.dita | 2 +- dita/RTC-NG/API/rtc_api_overview.dita | 4 ++-- dita/RTC-NG/RTC_NG_API_Android.ditamap | 4 ++-- dita/RTC-NG/RTC_NG_API_CPP.ditamap | 4 ++-- dita/RTC-NG/RTC_NG_API_iOS.ditamap | 4 ++-- dita/RTC-NG/RTC_NG_API_macOS.ditamap | 4 ++-- dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap | 6 +++--- dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap | 6 +++--- .../RTC-NG/config/keys-rtc-ng-api-java.ditamap | 6 +++--- .../config/keys-rtc-ng-api-macos.ditamap | 6 +++--- .../RTC-NG/config/relations-rtc-ng-api.ditamap | 6 +++--- dita/RTC-NG/release/release_notes.dita | 2 +- en-US/dita/RTC-NG/release/release_notes.dita | 18 +++++++++++++++++- 14 files changed, 45 insertions(+), 29 deletions(-) diff --git a/dita/RTC-NG/API/enum_mediasourcetype.dita b/dita/RTC-NG/API/enum_mediasourcetype.dita index 46eb49347ef..f465e52238b 100644 --- a/dita/RTC-NG/API/enum_mediasourcetype.dita +++ b/dita/RTC-NG/API/enum_mediasourcetype.dita @@ -27,7 +27,7 @@ 6: 自定义采集的视频源。 - + 13: 视频源为语音驱动插件处理后的视频。 diff --git a/dita/RTC-NG/API/enum_videosourcetype.dita b/dita/RTC-NG/API/enum_videosourcetype.dita index 2b18e509178..f3bd99f7efc 100644 --- a/dita/RTC-NG/API/enum_videosourcetype.dita +++ b/dita/RTC-NG/API/enum_videosourcetype.dita @@ -75,7 +75,7 @@ 14:(仅适用于 Windows 和 macOS)视频源为第四个屏幕。 - + 15:视频源为语音驱动插件处理后的视频。 diff --git a/dita/RTC-NG/API/rtc_api_overview.dita b/dita/RTC-NG/API/rtc_api_overview.dita index 55c71f3dfe7..16902b17f57 100644 --- a/dita/RTC-NG/API/rtc_api_overview.dita +++ b/dita/RTC-NG/API/rtc_api_overview.dita @@ -1061,11 +1061,11 @@ - + - + diff --git a/dita/RTC-NG/RTC_NG_API_Android.ditamap b/dita/RTC-NG/RTC_NG_API_Android.ditamap index 954b04a957f..2a4ffc6e0b8 100644 --- a/dita/RTC-NG/RTC_NG_API_Android.ditamap +++ b/dita/RTC-NG/RTC_NG_API_Android.ditamap @@ -25,7 +25,7 @@ - + @@ -310,7 +310,7 @@ - + diff --git a/dita/RTC-NG/RTC_NG_API_CPP.ditamap b/dita/RTC-NG/RTC_NG_API_CPP.ditamap index aabdb72d792..97f342c77f6 100644 --- a/dita/RTC-NG/RTC_NG_API_CPP.ditamap +++ b/dita/RTC-NG/RTC_NG_API_CPP.ditamap @@ -25,7 +25,7 @@ - + @@ -320,7 +320,7 @@ - + diff --git a/dita/RTC-NG/RTC_NG_API_iOS.ditamap b/dita/RTC-NG/RTC_NG_API_iOS.ditamap index 7341f56ce62..80f36df8c95 100644 --- a/dita/RTC-NG/RTC_NG_API_iOS.ditamap +++ b/dita/RTC-NG/RTC_NG_API_iOS.ditamap @@ -25,7 +25,7 @@ - + @@ -317,7 +317,7 @@ - + diff --git a/dita/RTC-NG/RTC_NG_API_macOS.ditamap b/dita/RTC-NG/RTC_NG_API_macOS.ditamap index 78e86ea5727..68572596199 100644 --- a/dita/RTC-NG/RTC_NG_API_macOS.ditamap +++ b/dita/RTC-NG/RTC_NG_API_macOS.ditamap @@ -24,7 +24,7 @@ - + @@ -311,7 +311,7 @@ - + diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap index 07e829b6960..6b5b322689b 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -216,7 +216,7 @@ - + IFaceInfoObserver @@ -1295,7 +1295,7 @@ - + registerFaceInfoObserver @@ -5116,7 +5116,7 @@ - + onFaceInfo diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap index 1ce0eadfc3c..9e2e686a698 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap @@ -202,7 +202,7 @@ - + AgoraFaceInfoDelegate @@ -1258,7 +1258,7 @@ - + setFaceInfoDelegate @@ -4567,7 +4567,7 @@ - + onFaceInfo diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap index 90f008a18ef..c54678a5287 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap @@ -173,7 +173,7 @@ - + IFaceInfoObserver @@ -1250,7 +1250,7 @@ - + registerFaceInfoObserver @@ -4778,7 +4778,7 @@ - + onFaceInfo diff --git a/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap b/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap index 238668cb79b..3a4c499035f 100644 --- a/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap +++ b/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap @@ -173,7 +173,7 @@ - + AgoraFaceInfoDelegate @@ -1208,7 +1208,7 @@ - + setFaceInfoDelegate @@ -4279,7 +4279,7 @@ - + onFaceInfo diff --git a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap index 80484704c03..fe41071534d 100644 --- a/dita/RTC-NG/config/relations-rtc-ng-api.ditamap +++ b/dita/RTC-NG/config/relations-rtc-ng-api.ditamap @@ -939,7 +939,7 @@ - + @@ -2912,7 +2912,7 @@ - + @@ -3215,7 +3215,7 @@ - + diff --git a/dita/RTC-NG/release/release_notes.dita b/dita/RTC-NG/release/release_notes.dita index aa22659278c..a44e2a7283c 100644 --- a/dita/RTC-NG/release/release_notes.dita +++ b/dita/RTC-NG/release/release_notes.dita @@ -146,7 +146,7 @@
              • 加入频道后调用 关闭音频模块,音频播放没有立即停止。(Android)
              • 屏幕共享场景中,App 调用 开启声卡采集功能采集共享屏幕的音频,本地用户手动禁用本地音频采集设备后,声卡采集的音频发送失败,远端用户听不见共享屏幕的声音。(Windows)
              • 在音视频互动中,如果用户将耳机插入设备并手动将系统音频输出切换为扬声器,之后 App 调用 方法指定音频播放设备为耳机,用户移除耳机后,音频输出并未按预期行为切换至扬声器。 (macOS)
              • -
              • 用户插拔一次蓝牙或有线耳机,音频状态改变回调 会触发多次。
              • +
              • 用户插拔一次蓝牙或有线耳机,音频状态改变回调 会触发多次。
              • 主播使用部分型号设备在扬声器下进行音视频互动,之后切换 App 进程到后台再切回前台,偶现本地音频采集失败,远端用户听不到主播的声音。(Android)
              • 播放指定用户混音前的音频流时偶现回声。(macOS、Windows)
              • 在音视频互动过程中,本地用户调用 设置系统默认播放设备为扬声器后,听远端无声。(Windows)
              • diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index 5d2f09fff57..b9c88de4f4f 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -17,6 +17,16 @@ New Features
                  +
                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 .

                  + +
                    +
                  • The Agora SDK extension extension, MetaKit, simplifies the implementation process of animating avatar with speech, eliminating the need to build your own framework for collection, encoding, and transmission. Detailed introduction and integration guidance for MetaKit are available at .
                  • +
                  • The speech driven avatar feature is currently in beta testing. To use it, please .
                  • +
                  +
                  +
                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. For more details, see . @@ -147,7 +157,7 @@
                3. After joining a channel and calling , audio playback did not immediately stop. (Android)
                4. 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)
                5. 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)
                6. -
                7. When a user plugged and unplugged a Bluetooth or wired headset once, the audio state change callback was triggered multiple times.
                8. +
                9. When a user plugged and unplugged a Bluetooth or wired headset once, the audio state change callback was triggered multiple times.
                10. 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)
                11. An occasional echo was observed when playing the audio stream of a specified user before mixing. (macOS, Windows)
                12. During interactions, when a local user set the system default playback device to speakers using , there was no sound from the remote end. (Windows)
                13. @@ -175,6 +185,12 @@
                14. LOCAL_VIDEO_STREAM_REASON_DEVICE_FATAL_ERROR
            • +
            • +
            • +
            • +
            • +
            • adds
            • +
            • adds
            • adds datastreamEncryptionEnabled
            • adds the following enumerations:
                From defc8ceb783f1d156690bfd280c5ca9d290fbf49 Mon Sep 17 00:00:00 2001 From: Nero-Hu Date: Tue, 16 Apr 2024 02:35:03 +0000 Subject: [PATCH 12/19] Sync cn prototype to en prototype --- en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap | 6 +++--- en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap | 6 +++--- en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap | 6 +++--- en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap index 07e829b6960..6b5b322689b 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-cpp.ditamap @@ -216,7 +216,7 @@ - + IFaceInfoObserver @@ -1295,7 +1295,7 @@ - + registerFaceInfoObserver @@ -5116,7 +5116,7 @@ - + onFaceInfo diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap index 1ce0eadfc3c..9e2e686a698 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-ios.ditamap @@ -202,7 +202,7 @@ - + AgoraFaceInfoDelegate @@ -1258,7 +1258,7 @@ - + setFaceInfoDelegate @@ -4567,7 +4567,7 @@ - + onFaceInfo diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap index 90f008a18ef..c54678a5287 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-java.ditamap @@ -173,7 +173,7 @@ - + IFaceInfoObserver @@ -1250,7 +1250,7 @@ - + registerFaceInfoObserver @@ -4778,7 +4778,7 @@ - + onFaceInfo diff --git a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap index 238668cb79b..3a4c499035f 100644 --- a/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap +++ b/en-US/dita/RTC-NG/config/keys-rtc-ng-api-macos.ditamap @@ -173,7 +173,7 @@ - + AgoraFaceInfoDelegate @@ -1208,7 +1208,7 @@ - + setFaceInfoDelegate @@ -4279,7 +4279,7 @@ - + onFaceInfo From fc8c5d64266fdd01d3d395a0eb5b5f51a08e3041 Mon Sep 17 00:00:00 2001 From: Suri539 Date: Tue, 16 Apr 2024 11:03:37 +0800 Subject: [PATCH 13/19] en release fix --- en-US/dita/RTC-NG/release/release_notes.dita | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index b9c88de4f4f..28f4e56d4ce 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -8,7 +8,7 @@ <topic id="compatibility" props="android"> - <title>Upgrade Must-Read + 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.

                @@ -62,7 +62,7 @@

        -
      • Data Stream Encryption +
      • 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.

      • Local Video Rendering @@ -113,7 +113,7 @@
      • 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.

      • -
      • Audio Device Type Detection +
      • Audio device type detection

        This version adds the deviceTypeName member to , used to identify the type of audio devices, such as built-in, USB, HDMI, etc.

      • Virtual Background Algorithm Optimization @@ -140,8 +140,8 @@
      • 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, , enhances the spatial presence of vocals in chorus scenarios. (Android)
      • -
      • In , a new e2eDelay field is added to report the delay from the audio capture on the sending end to the start of audio playback on the receiving end.
      • +
      • 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.

    • From 2734a0d28770a5833ae6e68669f91d969397fc8e Mon Sep 17 00:00:00 2001 From: Suri539 Date: Tue, 16 Apr 2024 11:13:13 +0800 Subject: [PATCH 14/19] update desc according to review comments --- dita/RTC-NG/API/class_channelmediaoptions.dita | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dita/RTC-NG/API/class_channelmediaoptions.dita b/dita/RTC-NG/API/class_channelmediaoptions.dita index 35226de2fde..5ad38fdb0d8 100644 --- a/dita/RTC-NG/API/class_channelmediaoptions.dita +++ b/dita/RTC-NG/API/class_channelmediaoptions.dita @@ -806,7 +806,7 @@ class ChannelMediaOptions { audioDelayMs -

      发送音频帧的延时(毫秒)。在视频延迟较大的场景下,你可以通过该参数来设置需要发送的音频帧的延时,以确保音画同步。

      +

      发送音频帧的延时(毫秒)。你可以通过该参数来设置需要发送的音频帧的延时,以确保音画同步。

      如果要关闭延时,将此参数值设置为 0。

      From 189bc0a531151c871706f00ec32efdfba53ccbba Mon Sep 17 00:00:00 2001 From: Nero-Hu Date: Tue, 16 Apr 2024 11:23:07 +0800 Subject: [PATCH 15/19] fix releasenotes --- dita/RTC-NG/release/release_notes.dita | 3 ++- en-US/dita/RTC-NG/release/release_notes.dita | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/dita/RTC-NG/release/release_notes.dita b/dita/RTC-NG/release/release_notes.dita index a44e2a7283c..24262837943 100644 --- a/dita/RTC-NG/release/release_notes.dita +++ b/dita/RTC-NG/release/release_notes.dita @@ -145,8 +145,9 @@
    • 使用媒体播放器播放包含 SEI 数据的媒体流时,SEI 数据的输出与视频渲染不同步。
    • 加入频道后调用 关闭音频模块,音频播放没有立即停止。(Android)
    • 屏幕共享场景中,App 调用 开启声卡采集功能采集共享屏幕的音频,本地用户手动禁用本地音频采集设备后,声卡采集的音频发送失败,远端用户听不见共享屏幕的声音。(Windows)
    • -
    • 在音视频互动中,如果用户将耳机插入设备并手动将系统音频输出切换为扬声器,之后 App 调用 方法指定音频播放设备为耳机,用户移除耳机后,音频输出并未按预期行为切换至扬声器。 (macOS)
    • +
    • 在音视频互动中,如果用户将耳机插入设备并手动将系统音频输出切换为扬声器,之后 App 调用 方法指定音频播放设备为耳机,用户移除耳机后,音频输出并未按预期行为切换至扬声器。 (macOS)
    • 用户插拔一次蓝牙或有线耳机,音频状态改变回调 会触发多次。
    • +
    • 用户插拔一次蓝牙或有线耳机,音频状态改变回调 会触发多次。
    • 主播使用部分型号设备在扬声器下进行音视频互动,之后切换 App 进程到后台再切回前台,偶现本地音频采集失败,远端用户听不到主播的声音。(Android)
    • 播放指定用户混音前的音频流时偶现回声。(macOS、Windows)
    • 在音视频互动过程中,本地用户调用 设置系统默认播放设备为扬声器后,听远端无声。(Windows)
    • diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index b9c88de4f4f..2ccf4d84b6a 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -156,8 +156,9 @@
    • 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)
    • +
    • 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)
    • From 0560f816587ec3ed3d780c526bfd7d72e0bfbd9b Mon Sep 17 00:00:00 2001 From: Suri539 Date: Tue, 16 Apr 2024 11:32:44 +0800 Subject: [PATCH 16/19] Update release_notes.dita --- dita/RTC-NG/release/release_notes.dita | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/dita/RTC-NG/release/release_notes.dita b/dita/RTC-NG/release/release_notes.dita index a44e2a7283c..6a0e62507fb 100644 --- a/dita/RTC-NG/release/release_notes.dita +++ b/dita/RTC-NG/release/release_notes.dita @@ -22,7 +22,7 @@ 如果你需要将集成 v4.3.1 之前的 SDK 版本的 App 发布到苹果应用商店,则需要在 Xcode 工程中手动添加 PrivacyInfo.xcprivacy 文件。详见
    • 人像锁定 (iOS, macOS)

      为提升在线会议、秀场、在线教育等场景中的主播演讲效果,该版本新增 方法开启人像锁定功能。该功能可确保主播无论移动与否,始终位于画面中心,以取得良好的演讲效果。

      -

      在开启人像锁定前,建议你先调用 查询当前设备性能是否支持该功能。支持的设备清单可参考 API 文档

      +

      在开启人像锁定前,建议你先调用 查询当前设备性能是否支持该功能。支持的设备清单可参考

    • 摄像头防抖 (iOS)

      为改善在移动拍摄、暗光环境拍摄、手持拍摄等场景下的视频画面稳定性,该版本新增摄像头防抖功能。你可以调用 开启该功能并设置适合的防抖模式,以获得更加稳定、清晰的视频画面。

      @@ -69,9 +69,6 @@
    • 视频小流的码率根据视频分辨率和帧率自动匹配,无需指定。

  • -
  • -

    -

  • 其他

      @@ -183,10 +180,10 @@
  • -
  • (macOS)
  • -
  • (macOS)
  • -
  • (macOS)
  • -
  • (macOS)
  • +
  • (macOS)
  • +
  • (macOS)
  • +
  • (macOS)
  • +
  • (macOS)
  • 新增 deviceTypeName
  • 新增 e2eDelay
  • 新增
  • @@ -194,6 +191,8 @@
  • 新增
  • +
  • +
  • (Android, iOS)
  • (Android, iOS)
  • (Android, iOS)
  • From d425430aecad47ed86ffde7bbe15798cd0557a76 Mon Sep 17 00:00:00 2001 From: Suri539 Date: Tue, 16 Apr 2024 11:40:44 +0800 Subject: [PATCH 17/19] en sync --- dita/RTC-NG/release/release_notes.dita | 20 ++++++++++---------- en-US/dita/RTC-NG/release/release_notes.dita | 14 ++++++++------ 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/dita/RTC-NG/release/release_notes.dita b/dita/RTC-NG/release/release_notes.dita index c7a56bbd0f4..30ca4acad38 100644 --- a/dita/RTC-NG/release/release_notes.dita +++ b/dita/RTC-NG/release/release_notes.dita @@ -32,7 +32,7 @@
  • 摄像头多路采集 (Android)

    该版本针对 Android 摄像头采集新增以下功能: - +

    1. 支持第三个和第四个摄像头视频流的采集和发布。
        @@ -55,15 +55,15 @@
      • 本地视频渲染

        该版本在 中新增如下成员,以支持更多本地渲染功能。 - +

        • surfaceTexture:设置一个 Android 原生的 SurfaceTexture 对象作为提供视频图像的容器,然后使用 SDK 外部的方法自行实现 OpenGL 中的纹理绘制。
        • enableAlphaMask:可以通过该成员设置接收端是否开启 alpha 遮罩渲染。alpha 遮罩渲染功能可以创建具有透明效果的图像或提取视频中的人像。

      • 视频小流自适应配置 -

        该版本新增视频小流的自适应配置功能,当你调用 在发送端设置双流模式并设置视频小流时,SDK 的默认行为如下所示: - +

        该版本新增视频小流的自适应配置功能,当你调用 在发送端设置双流模式并设置视频小流时,SDK 的默认行为如下所示: +

        • 将视频小流的默认编码分辨率设为原始视频编码分辨率的 50%。
        • 视频小流的码率根据视频分辨率和帧率自动匹配,无需指定。
        • @@ -104,7 +104,7 @@
        • 虚拟背景算法优化

          为了提高纯色背景下开启虚拟背景时人像分割的精确度和稳定性,该版本优化了绿幕分割算法: - +

          • 支持识别任意纯色背景,不再局限于绿幕。
          • 对背景颜色的识别更加准确,并且在分割人像时露出的背景更少。
          • @@ -119,7 +119,7 @@
          • 其他改进

            该版本还进行了如下改进: - +

            • 优化了非屏幕共享场景的视频编解码策略,节省系统性能开销。(iOS, macOS, Windows)
            • 针对 macOS 14 及以上系统,优化了 的行为。自该版本起,调用该方法返回的可用窗口资源中会自动过滤小组件窗口。(macOS)
            • @@ -174,7 +174,7 @@
          • 中新增 datastreamEncryptionEnabled
          • 中新增如下枚举: - +
            • @@ -193,7 +193,7 @@
            • -
            • +
            • (Android, iOS)
            • (Android, iOS)
            • (Android, iOS)
            • @@ -214,9 +214,9 @@
            • 新增枚举 (1 <<15)

            -

            废弃 +

            废弃

              -
            • +

            diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index b24678b7b87..e12a0635865 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -200,10 +200,10 @@
        • -
        • (macOS)
        • -
        • (macOS)
        • -
        • (macOS)
        • -
        • (macOS)
        • +
        • (macOS)
        • +
        • (macOS)
        • +
        • (macOS)
        • +
        • (macOS)
        • adds deviceTypeName
        • adds e2eDelay
        • adds
        • @@ -211,6 +211,8 @@
        • 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)
        • @@ -231,9 +233,9 @@
        • adds a new enumeration (1 <<15)

        -

        Deprecated +

        Deprecated

          -
        • +

        From f9c7491f2fe33669f3203ef09491cac01a23099b Mon Sep 17 00:00:00 2001 From: Suri539 Date: Tue, 16 Apr 2024 11:59:06 +0800 Subject: [PATCH 18/19] =?UTF-8?q?=E8=9B=AE=E6=97=A0=E8=AF=AD=E7=9A=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dita/RTC-NG/release/release_notes.dita | 8 ++++---- en-US/dita/RTC-NG/release/release_notes.dita | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/dita/RTC-NG/release/release_notes.dita b/dita/RTC-NG/release/release_notes.dita index 30ca4acad38..f8758af7dc0 100644 --- a/dita/RTC-NG/release/release_notes.dita +++ b/dita/RTC-NG/release/release_notes.dita @@ -181,10 +181,10 @@
    2. -
    3. (macOS)
    4. -
    5. (macOS)
    6. -
    7. (macOS)
    8. -
    9. (macOS)
    10. +
    11. (macOS)
    12. +
    13. (macOS)
    14. +
    15. (macOS)
    16. +
    17. (macOS)
    18. 新增 deviceTypeName
    19. 新增 e2eDelay
    20. 新增
    21. diff --git a/en-US/dita/RTC-NG/release/release_notes.dita b/en-US/dita/RTC-NG/release/release_notes.dita index e12a0635865..99659a42277 100644 --- a/en-US/dita/RTC-NG/release/release_notes.dita +++ b/en-US/dita/RTC-NG/release/release_notes.dita @@ -200,10 +200,10 @@
    22. -
    23. (macOS)
    24. -
    25. (macOS)
    26. -
    27. (macOS)
    28. -
    29. (macOS)
    30. +
    31. (macOS)
    32. +
    33. (macOS)
    34. +
    35. (macOS)
    36. +
    37. (macOS)
    38. adds deviceTypeName
    39. adds e2eDelay
    40. adds
    41. From 1bba76effee8459a2098f58748c281d0008e09e4 Mon Sep 17 00:00:00 2001 From: Cilla-luodan <85477033+Cilla-luodan@users.noreply.github.com> Date: Tue, 16 Apr 2024 14:04:26 +0800 Subject: [PATCH 19/19] 1 --- dita/RTC-NG/release/release_notes.dita | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dita/RTC-NG/release/release_notes.dita b/dita/RTC-NG/release/release_notes.dita index 30ca4acad38..bd2406ae422 100644 --- a/dita/RTC-NG/release/release_notes.dita +++ b/dita/RTC-NG/release/release_notes.dita @@ -22,7 +22,7 @@ 如果你需要将集成 v4.3.1 之前的 SDK 版本的 App 发布到苹果应用商店,则需要在 Xcode 工程中手动添加 PrivacyInfo.xcprivacy 文件。详见
    42. 人像锁定 (iOS, macOS)

      为提升在线会议、秀场、在线教育等场景中的主播演讲效果,该版本新增 方法开启人像锁定功能。该功能可确保主播无论移动与否,始终位于画面中心,以取得良好的演讲效果。

      -

      在开启人像锁定前,建议你先调用 查询当前设备性能是否支持该功能。支持的设备清单可参考

      +

      在开启人像锁定前,建议你先调用 查询当前设备性能是否支持该功能。支持的设备清单可参考 API 文档

    43. 摄像头防抖 (iOS)

      为改善在移动拍摄、暗光环境拍摄、手持拍摄等场景下的视频画面稳定性,该版本新增摄像头防抖功能。你可以调用 开启该功能并设置适合的防抖模式,以获得更加稳定、清晰的视频画面。