Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/humla.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/se/lublin/humla/audio/AudioInput.java17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/main/java/se/lublin/humla/audio/AudioInput.java b/src/main/java/se/lublin/humla/audio/AudioInput.java
index 07fdd76..dd7969c 100644
--- a/src/main/java/se/lublin/humla/audio/AudioInput.java
+++ b/src/main/java/se/lublin/humla/audio/AudioInput.java
@@ -19,6 +19,10 @@ package se.lublin.humla.audio;
import android.media.AudioFormat;
import android.media.AudioRecord;
+import android.media.audiofx.AcousticEchoCanceler;
+import android.media.audiofx.AutomaticGainControl;
+import android.media.audiofx.NoiseSuppressor;
+import android.os.Build;
import android.util.Log;
import se.lublin.humla.Constants;
@@ -86,6 +90,19 @@ public class AudioInput implements Runnable {
throw new AudioInitializationException("AudioRecord failed to initialize!");
}
+ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
+ int audioSessionId = audioRecord.getAudioSessionId();
+ if(AcousticEchoCanceler.isAvailable()) {
+ AcousticEchoCanceler.create(audioSessionId);
+ }
+ if(AutomaticGainControl.isAvailable()) {
+ AutomaticGainControl.create(audioSessionId);
+ }
+ if(NoiseSuppressor.isAvailable()) {
+ NoiseSuppressor.create(audioSessionId);
+ }
+ }
+
return audioRecord;
}