public class AcousticEchoCanceler
extends AudioEffect
java.lang.Object | ||
↳ | android.media.audiofx.AudioEffect | |
↳ | android.media.audiofx.AcousticEchoCanceler |
声学回声消除器(AEC)。
声学回声消除器(AEC)是一种音频预处理,用于从捕获的音频信号中消除从远程方接收的信号的贡献。
语音通信应用(语音聊天,视频会议,SIP呼叫)使用AEC,在远程方接收到的信号中存在显着延迟的回声非常令人不安。 AEC经常与噪声抑制(NS)结合使用。
应用程序创建一个AcousticEchoCanceler对象来实例化并控制音频捕获路径中的AEC引擎。
要将AcousticEchoCanceler附加到特定的AudioRecord
,请在创建AcousticEchoCanceler时指定此AudioRecord的音频会话ID。 通过在AudioRecord实例上调用getAudioSessionId()
来检索音频会话。
在某些设备上,根据所使用的MediaRecorder.AudioSource
,平台可以在平台的捕获路径中默认插入AEC。 创建AEC后,应用程序应调用AcousticEchoCanceler.getEnable()以检查特定AudioRecord会话上的默认AEC激活状态。
有关控制音频效果的更多详细信息,请参见 AudioEffect
类。
Inherited constants |
---|
From class android.media.audiofx.AudioEffect
|
Inherited fields |
---|
From class android.media.audiofx.AudioEffect
|
Public methods |
|
---|---|
static AcousticEchoCanceler |
create(int audioSession) 创建一个AcousticEchoCanceler并将其附加到指定音频会话的AudioRecord上。 |
static boolean |
isAvailable() 检查设备是否实现声学回声消除。 |
Inherited methods |
|
---|---|
From class android.media.audiofx.AudioEffect
|
|
From class java.lang.Object
|
AcousticEchoCanceler create (int audioSession)
创建一个AcousticEchoCanceler并将其附加到指定音频会话的AudioRecord上。
Parameters | |
---|---|
audioSession |
int : system wide unique audio session identifier. The AcousticEchoCanceler will be applied to the AudioRecord with the same audio session. |
Returns | |
---|---|
AcousticEchoCanceler |
AcousticEchoCanceler created or null if the device does not implement AEC. |
boolean isAvailable ()
检查设备是否实现声学回声消除。
Returns | |
---|---|
boolean |
true if the device implements acoustic echo cancellation, false otherwise. |