出现的问题
麦克风没有声音
,或者麦克风声音过大(炸麦)
麦克风没有声音是因为当有多个输入设备的时候,默认选择的设备并不是你当前用到设备,炸麦是因为麦克风的声音太大了。
所以我们要做的事,把输入源设置一下,把音量设置一下(Input Source
)
需要用到的app
1.命令行执行可以用终端模拟器
,如果应用商店没有得下载,在百度搜下apk,或者使用凤凰os本身的命令行也行
2.需要root权限
3.注意空格问题,命令和参数之间,参数与参数之间有空格,例如command代表命令,arg1 代表参数1 arg2代表参数2,他们之间存在空格
command arg1 arg2
也可以用自带的终端
ctrl+alt+F1
切换至终端(已经是root用户登录)
ctrl+alt+F7
切换回桌面
解决问题前期准备知识
1.获取相关的声卡信息
相关的声卡信息,都可以在/proc/asound/cards
文件看到
输入cat /proc/asound/cards
可能看到与以下类似的结果
2|x86_64:/ # cat /proc/asound/cards
0 [HDMI ]: HDA-Intel - HDA ATI HDMI
HDA ATI HDMI at 0xfe860000 irq 81
1 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xfe700000 irq 83
我的电脑有两个声卡设备,编号0到1,0是我显卡的声卡,1是我主机机箱的,记住卡的编号
,后面的命令会用到它
2.alsa-utils简单设置说明
#涉及到的命令
su
alsa_amixer
设置需要root
权限,先输入su
切换到root用户
命令涉及到用法基本了解
#N是一个数字,最低从0开始,代表声卡,至于这个数字上面有阐述
alsa_amixer -cN [command] [args]
# []内的代表的是可选项,特定情况才需要用到
command
是alsa_amixer
的相关命令,这里涉及到两个命令,一个是get
,一个是set
args
是对应的命令的相关参数,get
/set
命令可以对某个控制器进行
如果指定声卡,不带command和args则是获取Card0的所有控制器以及设置
alsa_amixer -c0
#这里只列出一部分,太长了
Limits: Capture 0 - 46
Front Left: Capture 23 [50%] [7.00dB] [on]
Front Right: Capture 23 [50%] [7.00dB] [on]
Simple mixer control 'Capture',1
Capabilities: cvolume cswitch penum
Capture channels: Front Left - Front Right
Limits: Capture 0 - 46
Front Left: Capture 0 [0%] [-16.00dB] [off]
Front Right: Capture 0 [0%] [-16.00dB] [off]
Simple mixer control 'Auto-Mute Mode',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Enabled'
Simple mixer control 'Input Source',0
Capabilities: cenum
Items: 'Front Mic' 'Rear Mic' 'Line'
Item0: 'Rear Mic'
Simple mixer control 'Input Source',1
Capabilities: cenum
Items: 'Front Mic' 'Rear Mic' 'Line'
Item0: 'Front Mic'
Simple mixer control 'Loopback Mixing',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Disabled'
Simple mixer control 'Rear Mic',0
Capabilities: pvolume pswitch penum
Playback channels: Front Left - Front Right
Limits: Playback 0 - 31
Mono:
Front Left: Playback 25 [81%] [3.00dB] [on]
Front Right: Playback 25 [81%] [3.00dB] [on]
Simple mixer control 'Rear Mic Boost',0
Capabilities: volume penum
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 3
入上,''内的就是控制器的名称,如果我们要对某个控制器进行设置,就需要用到这个名称,例如Rear Mic
指的是主机后面的麦克风口,Front Mic
是前面板灯麦克风口,其他项目可以查询下
涉及到的控制器
Front Mic
前面板的麦克风
Front Mic Boost
前面板的麦克风额外的声音大小控制(实际声音受控于Mic和Mic Boost叠加的控制作用)
Rear Mic
后面板麦克风
Rear Mic Boost
后面板麦克风
Input Source
声音输入源
以设置后面板的麦克风为输入源为例子,我的板载声卡编号是1
su
#先打开麦克风
alsa_amixer -c1 set 'Rear Mic' on
#设置音量80%
alsa_amixer -c1 set 'Rear Mic' 80%
#设置boost的音量为100%
alsa_amixer -c1 set 'Rear Mic' 100%
#设置输入音频源
alsa_amixer -c1 set 'Input Source' 'Rear Mic'