问题:Linux系统中有声卡设备,但是听不到声音

一、声卡驱动没有安装

  1、通过插拔声卡查出声卡驱动

  2、在相应的kernel中编译内核

Linux系统声卡问题-LMLPHP

修改保存.config文件,然后进行编译

make -j
make modules
make modules_install

reboot重启机器后可以“lsmod”查看驱动

3、将2号声卡改为默认声卡: 

、# aplay -l   -----> list all soundcards and digital audio devices
、# vi /usr/share/alsa/alsa.conf --->修改默认声卡的配置文件
、修改udev规则
#cat /etc/ocs.d/files/configs/TM-/etc/udev/rules.d/-set-default-alsacard.rules
SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="0d8c", ATTRS{idProduct}=="", RUN+="/bin/sed -i '/^defaults.pcm.card [0-9]/cde
faults.pcm.card ' /usr/share/alsa/alsa.conf"

二、查看alsamixer配置是否出错

()/usr/share/alsa/alsa.conf    ------>/proc/asound/devices的脚本文件
()/etc/modprobe.d/alsa.conf    ------>加载/root/a.out的文件
()/proc/asound/cards       ------>确定当前可以使用的设备号device
()/proc/asound/card0/codec#
()/var/lib/alsa/asound.state

三、查看音频状态下的录音和播放是否出错

  • arecord,aplay是命令行的ALSA声卡驱动的录音和播放工具
  • arecord是命令行ALSA声卡驱动的录音程序,支持多种文件格式和多个声卡
  • aplay 是命令行播放工具,支持多种文件格式
命令格式:
arecord [flags] [filename]
aplay [flags] [filename [filename]] ...

四、例子

 1、aplay用法

# aplay -V stereo a.wav
Playing WAVE 'a.wav' : Unsigned bit, Rate Hz, Mono
#+ | %

 2、arecord用法

# arecord  -f cd -V stereo  /dev/null       #不录到文件里,直接看录间的音量大小

 3、arecord与aplay混合使用

# arecord -f cd -V stereo  | aplay      # 环路测试,mic的输出经过一定的delay后直接从耳机里输出
05-11 19:32