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

  一.查看當前系統聲卡

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);
            }

  

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM