文档

Development

User Acquisition

Monetization

工业

Vivox Core SDK

Vivox Core SDK

此页面不支持所选语言。
Vivox
​
​
Vivox Core SDK
  • Overview
  • Before you begin
  • Get started
  • Release notes
  • Developer Guide
    • Client SDK basics
    • Channels
    • Presence management
    • Messaging
    • Manage audio
    • Couch co-op
    • Android app development
    • iOS app development
      • Required Info.plist settings for iOS apps
      • Acoustic echo cancellation
      • Initialize the AVAudioSession on app startup
      • AVAudioSessionModeVoiceChat
      • Disable the Vivox SDK internal AEC
      • iOS known limitations
    • macOS app development
    • Windows app development
    • Real-time recording
    • Speech-to-text audio transcription
    • Text-to-speech
    • Troubleshooting
  • Reference
  • Privacy overview
  1. Vivox Core SDK documentation
  2. iOS app development

Acoustic echo cancellation

Learn about acoustic echo cancellation on iOS.
阅读时间2 分钟
最后更新于 8 个月前

When an iOS device plays and records audio at the same time, there is the possibility that a capture device could pick up the audio that is playing. The Vivox SDK includes acoustic echo cancellation (AEC), which helps to prevent this type of audio capture from occurring.
By default, the Vivox SDK leverages the platform AEC provided by Apple, which is enabled or disabled by using dynamic voice processing switching (DVPS).
DVPS is enabled by default. To disable DVPS, perform either of the following actions:
注意
Disabling DVPS is not recommended.
  • When you initialize the Vivox SDK, configure the dynamic_voice_processing_switching parameter.
  • After the you initialize the Vivox SDK, call vx_set_dynamic_voice_processing_switching_enabled().
DVPS uses the following logic for enabling or disabling platform AEC:
  • When the client attempts to access the microphone (for example, when joining a session), platform AEC gets enabled.
  • When the client stops accessing the microphone (for example, when setting the capture device to “No Device” or when leaving all sessions), platform AEC gets disabled.
DVPS causes Vivox to play and record audio by using a Voice-Processing I/O audio unit. It also makes changes to the shared AVAudioSession instance to ensure that the right category and mode are selected. When platform AEC is enabled, the AVAudioSessionCategory is set to AVAudioSessionCategoryPlayAndRecord, and the AVAudioSessionMode is set to AVAudioSessionModeVoiceChat. After all Vivox voice sessions are removed, DVPS automatically switches back to the original AVAudioSession configuration. For optimal results, before you initialize the Vivox SDK, we recommend that you set the AVAudioSessionCategory to AVAudioSessionCategoryPlayback.
DVPS enforces the use of the Bluetooth Headset Profile (HSP) when accessing the microphone on a connected Bluetooth device. This ensures that the headset microphone is used instead of the device microphone to provide a better voice chat experience.
In some scenarios, it might be preferable to prevent the Vivox SDK from making changes to the shared AVAudioSession instance. To manually control platform AEC, disable dynamic voice processing switching (DVPS), and then use the
vx_set_platform_aec_enabled()
function to enable or disable platform AEC. This function reconfigures the audio unit in the Vivox SDK to Voice-Processing I/O or Remote I/O when enabled or disabled, respectively.

Copyright © 2026 Unity Technologies
法律信息隐私政策CookiesDocumentation Terms of Use请勿出售或分享我的个人信息您的隐私选择(Cookie 设置)

“Unity”、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属公司在美国和其他地方的商标或注册商标(此处查看更多信息)。其他名称或品牌是其各自所有者的商标。

为方便起见,一些页面是机器翻译的,可能包含不准确的内容。如有信息不一致的情况,以英文版本为准。


    报告此页面的问题
    ​
    ​