to top
Android APIs
public class

AcousticEchoCanceler

extends AudioEffect
java.lang.Object
   ↳ android.media.audiofx.AudioEffect
     ↳ android.media.audiofx.AcousticEchoCanceler

Class Overview

Acoustic Echo Canceler (AEC).

Acoustic Echo Canceler (AEC) is an audio pre-processing which removes the contribution of the signal received from the remote party from the captured audio signal.

AEC is used by voice communication applications (voice chat, video conferencing, SIP calls) where the presence of echo with significant delay in the signal received from the remote party is highly disturbing. AEC is often used in conjunction with noise suppression (NS).

An application creates an AcousticEchoCanceler object to instantiate and control an AEC engine in the audio capture path.

To attach the AcousticEchoCanceler to a particular AudioRecord, specify the audio session ID of this AudioRecord when creating the AcousticEchoCanceler. The audio session is retrieved by calling getAudioSessionId() on the AudioRecord instance.

On some devices, an AEC can be inserted by default in the capture path by the platform according to the MediaRecorder.AudioSource used. The application should call AcousticEchoCanceler.getEnable() after creating the AEC to check the default AEC activation state on a particular AudioRecord session.

See AudioEffect class for more details on controlling audio effects.

Summary

[Expand]
Inherited Constants
From class android.media.audiofx.AudioEffect
[Expand]
Inherited Fields
From class android.media.audiofx.AudioEffect
Public Methods
static AcousticEchoCanceler create(int audioSession)
Creates an AcousticEchoCanceler and attaches it to the AudioRecord on the audio session specified.
static boolean isAvailable()
Checks if the device implements acoustic echo cancellation.
[Expand]
Inherited Methods
From class android.media.audiofx.AudioEffect
From class java.lang.Object

Public Methods

public static AcousticEchoCanceler create (int audioSession)

Added in API level 16

Creates an AcousticEchoCanceler and attaches it to the AudioRecord on the audio session specified.

Parameters
audioSession system wide unique audio session identifier. The AcousticEchoCanceler will be applied to the AudioRecord with the same audio session.
Returns
  • AcousticEchoCanceler created or null if the device does not implement AEC.

public static boolean isAvailable ()

Added in API level 16

Checks if the device implements acoustic echo cancellation.

Returns
  • true if the device implements acoustic echo cancellation, false otherwise.