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:
authorJerzy GÅ‚owacki <jerzy.glowacki@nexocode.com>2020-04-14 21:45:24 +0300
committerDaniel Lublin <daniel@lublin.se>2020-08-13 15:07:26 +0300
commit8be9ef944ec5b3c0adc73dc12b322a5d9f9b1abc (patch)
tree7809a175ddbd3b750134eced531c96011a95bf2f
parent33ed38d674a5b00448aa54531e517f059265cc86 (diff)
Add Acoustic EchoCanceler, Automatic Gain Control and Noise Suppressor if available
-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;
}