Private audioStream As AudioStreamer
Sub SetEchoCanceler
Dim AEC As JavaObject
Try
AEC.InitializeStatic("android/media/audiofx/AcousticEchoCanceler".Replace("/", "."))
If AEC.RunMethod("isAvailable", Null) = True Then
Dim r As Reflector
r.Target = audioStream
Dim AudioRecord As JavaObject = r.GetField("audioRecord")
AEC.RunMethod("create", Array(AudioRecord.RunMethod("getAudioSessionId", Null)))
log("SetEchoCanceler, AEC set")
Else
log("SetEchoCanceler, AEC not available")
End If
Catch
log("SetEchoCanceler, SetEchoCanceler not available")
End Try
End Sub
Sub SetGainControl
Dim AGC As JavaObject
Try
AGC.InitializeStatic("android/media/audiofx/AutomaticGainControl".Replace("/", "."))
If AGC.RunMethod("isAvailable", Null) = True Then
Dim r As Reflector
r.Target = audioStream
Dim AudioRecord As JavaObject = r.GetField("audioRecord")
AGC.RunMethod("create", Array(AudioRecord.RunMethod("getAudioSessionId", Null)))
Log("AGC set")
Else
Log("AGC not available")
End If
Catch
log("SetGainControl, AutomaticGainControl not available")
End Try
End Sub
Sub SetNoiseSuppressor
Dim ANS As JavaObject
Try
ANS.InitializeStatic("android/media/audiofx/NoiseSuppressor".Replace("/", "."))
If ANS.RunMethod("isAvailable", Null) = True Then
Dim r As Reflector
r.Target = audioStream
Dim AudioRecord As JavaObject = r.GetField("audioRecord")
ANS.RunMethod("create", Array(AudioRecord.RunMethod("getAudioSessionId", Null)))
log("svc_data::SetNoiseSuppressor, NoiseSuppressor set")
Else
log("svc_data::SetNoiseSuppressor, NoiseSuppressor not available")
End If
Catch
log("svc_data::SetNoiseSuppressor, NoiseSuppressor not available")
End Try
End Sub