isEchoCancellationAvailable

AEC is not currently supported on Android for singing/music use cases.

The Android AEC implementation requires VOICE_COMMUNICATION audio source, which applies aggressive processing (noise suppression, AGC) that destroys singing audio quality. Using MIC source with AEC returns null.

See docs/android-aec-issue.md for full technical details.

Workaround: Users should use headphones to avoid echo.

Check if acoustic echo cancellation (AEC) is available on this device.

AEC removes speaker output from microphone input, essential for singalong/karaoke scenarios where reference audio plays through speakers while recording voice.

Platform requirements:

  • Android: Requires API 29+ (Android 10) for proper session ID sharing between player and recorder. On older versions, AEC cannot work correctly and this returns false.

  • iOS: Returns true on iOS 18.2+ (uses setPrefersEchoCancelledInput) or older versions (uses VoiceChat mode). iOS handles AEC at the system level.

Return

true if AEC is available and will work when echoCancellation=true is passed to configure()

iOS always supports AEC through VoiceChat mode (all versions) or setPrefersEchoCancelledInput (iOS 18.2+).