linux alsa音频不能播放和采集,配置音频

首先应该保证有操作音频设备的权限
#sudo usermod -a -G audio username
因为没有权限导致,默认是静音的,需要使用alsamixer设置一下音量
使用chmod对/dev/snd 下的所有设备都设置了777的权限。
chmod 777 /dev/snd/*
下面就是配置音频了
alsamixer -c 1
然后把playback的master音量调节一下,按M把静音去掉,这个操作按F1可以查看。
然后使用aplay -D plughw:1,0 test.wav即可播放了。
音频输入一开始没有,当我打开loopback我打开的时候,我听到了话筒的声音,然后修改front mic和rear mic确认使用的是rear mic,也就是后面的麦克,然后我看F1帮助,有一个空格,我把capture的两个使用空格打开了,然后再去测试就可以播放了。
需要设置一下输入,使用alsamixer -c 1,按照如下图进行保存,然后使用alsactrl store保存一下。

对于音频的输入,使用下面的命令进行采集播放,使用如下命令进行测试即可听到声音
arecord -D plughw:1,0 -r 48000 -f S16_LE -c 2 | aplay -D plughw:1,0 -r 48000 -f S16_LE -c 2

过程描述:使用mic测试主机可以采集和播放了,然后接入lineIn输入的拾音器,测试采集音量很小,而且有消顶失真,我第一感觉判断是由于接入的是mic接口使用了lineIn的输入导致,其实这里有一个误区,如果是这个原因导致,声音应该是特别大,而且不是很小。在lineIn串入电容,效果不明显,没有改善。然后更换mic测试,声音一切正常。
然后查看主机的电路图。在电路图中可以看到有左右两个输入,而且也串入了电容,这里直接接lineIn是没问题的。

你可能感兴趣的:(平时问题积累)