is Echo Cancellation Available
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+).