[Android] USB microphone

Hello, I have connected a USB microphone to my VIM3L.

Unfortunately the volume is very low.
On the Windows PC the same microphone is much louder.
Where can I adjust this?
I guess under /vendor/etc/audio_policy_configuration.xml ? What do I have to change there?

@motze92 Please refer to the following command to try.

VIM1S:/ # cat proc/asound/cards
 0 [AMLAUGESOUND   ]: AML-AUGESOUND - AML-AUGESOUND
                      AML-AUGESOUND
 1 [Device         ]: USB-Audio - Usb Audio Device
                      Generalplus Usb Audio Device at usb-xhci-hcd.0.auto-1.4, full speed
VIM1S:/ #
VIM1S:/ # tinymix -D 1
Mixer name: 'Usb Audio Device'
Number of controls: 5
ctl     type    num     name                                     value

0       INT     1       Capture Channel Map                      0
1       BOOL    1       Mic Capture Switch                       On
2       INT     1       Mic Capture Volume                       26
3       BOOL    1       Auto Gain Control                        Off
4       BOOL    1       Keep Interface                           Off
VIM1S:/ #
VIM1S:/ # tinymix -D 1 2 30
VIM1S:/ #
VIM1S:/ # tinymix -D 1
Mixer name: 'Usb Audio Device'
Number of controls: 5
ctl     type    num     name                                     value

0       INT     1       Capture Channel Map                      0
1       BOOL    1       Mic Capture Switch                       On
2       INT     1       Mic Capture Volume                       30
3       BOOL    1       Auto Gain Control                        Off
4       BOOL    1       Keep Interface                           Off
VIM1S:/ #

If feasible, the code needs to be modified:

hardware/libhardware/modules/usbaudio$ git diff
diff --git a/modules/usbaudio/audio_hal.c b/modules/usbaudio/audio_hal.c
index 03cec00..fc40ada 100644
--- a/modules/usbaudio/audio_hal.c
+++ b/modules/usbaudio/audio_hal.c
@@ -895,7 +895,7 @@ static int in_set_gain(struct audio_stream_in *stream, float gain)
 static int start_input_stream(struct stream_in *in)
 {
     ALOGV("start_input_stream(card:%d device:%d)", in->profile->card, in->profile->device);
-
+    system("tinymix -D 1 2 30");
     return proxy_open(&in->proxy);
 }

Hi,

thank you.

when I run tinymix -D 1 2 30 in adb shell it works.

But I tried to modify /modules/usbaudio/audio_hal.c and build my own image, but it didn’t work.

Can I put it in some script that starts after boot?

Thank you,
Moritz