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