RK:音频 RK3288 Android7.1 调整录音的音量

RK3288_Android7.1基于tinyalsa的音频调试说明  https://blog.csdn.net/qq_30624591/article/details/104001561

 Android音频系统之USB设备通路(Android 5.1)  https://blog.csdn.net/achina2011jy/article/details/103504399

 P=U^2\R (电功率=电压的平方 除以 电阻)

 

  一.查看当前系统声卡

tinypcminfo 用于查看pcm通道相关的信息 (tinypcminfo -D /proc/asound/cards)
tinymix 可以得到音频通路相关的各项配置参数。也可以通过添加参数修改其中的配置
tinyplay是一个简易的音乐播放器,一般用于播放测试。
tinycap是一个简易的录音软件,一般用于录音测试。

  

rk3288:/ # cat /proc/asound/cards
cat /proc/asound/cards
 0 [rockchiprt5640c]: rockchip_rt5640 - rockchip,rt5640-codec
                      rockchip,rt5640-codec 

二.查看音频配置参数 tinymix 调试通路

tinymix
Mixer name: 'rockchip,rt5640-codec'
Number of controls: 125
ctl     type    num     name                                     value
0       BOOL    1       Mono Playback Switch                     Off
1       INT     2       Mono DAC Playback Volume                 175 175
2       BOOL    2       Speaker Channel Switch                   Off Off
3       INT     2       Speaker Playback Volume                  31 31
4       BOOL    2       HP Channel Switch                        Off Off
5       INT     2       HP Playback Volume                       31 31
6       BOOL    2       OUT Playback Switch                      Off Off
7       BOOL    2       OUT Channel Switch                       Off Off
8       INT     2       OUT Playback Volume                      31 31
9       BOOL    2       DAC2 Playback Switch                     On On
10      INT     2       DAC1 Playback Volume                     175 175
11      INT     1       IN1 Boost                                0
12      INT     1       IN2 Boost                                0

 三.调整录音的音量  

1) 先通过串口或adb shell,以root用户权限使用amix 命令调节录音的音量,例如:
amix "IN2 Boost"
amix "ADC Capture Volume"
以上命令用于查看当前的设置,然后便可根据支持的值来调节并测试。
2) 调试好后,修改 hardware/rockchip/audio/tinyalsa_hal/codec_config/rt5651_config.h 文件中 rt5651_main_mic_capture_controls 数组中对应配置项的值,编译Android源代码并测试

等级 0-8    只有打开录音后 输入命令才有效	不能先输入命令再录音 	
rk3288:/ # amix -c 0 "IN1 Boost" 5
amix -c 0 "IN1 Boost" 5
Card:0
IN1 Boost: 5 { 0-8 }

 Android7.1 Linux4.4

diff --git a/hardware/rockchip/audio/tinyalsa_hal/codec_config/rt5640_config.h b/hardware/rockchip/audio/tinyalsa_hal/codec_config/rt5640_config.h
index 251b9e6..ce88caf 100755
--- a/hardware/rockchip/audio/tinyalsa_hal/codec_config/rt5640_config.h
+++ b/hardware/rockchip/audio/tinyalsa_hal/codec_config/rt5640_config.h
@@ -114,7 +114,7 @@ const struct config_control rt5640_main_mic_capture_controls[] = {
     //min=0,max=8, bypass=0=0db, 30db=3, 52db=8
     {
         .ctl_name = "IN1 Boost",
-        .int_val = {5},
+        .int_val = {2},
     },
     //dBscale-min=-17.625dB,step=0.375dB,min=0,max=127
     {

 三.USB-mic

adb 命令 tinymix -D 2

1       INT     6       Capture Channel Map                      3 4 7 8 9 10

询问 厂家 USB-mic 阵列 调试参数

四.耳机

耳机节点  /sys/class/switch/h2w/state  

 

            public String getDevPath() {
                return String.format(Locale.US, "/devices/virtual/switch/%s", mDevName);
            }

            public String getSwitchStatePath() {
                return String.format(Locale.US, "/sys/class/switch/%s/state", mDevName);
            }

  

  

  

 

posted @ 2020-12-29 15:32  CrushGirl  阅读(2813)  评论(0编辑  收藏  举报