问题:Linux系统中有声卡设备,但是听不到声音
一、声卡驱动没有安装
1、通过插拔声卡查出声卡驱动
2、在相应的kernel中编译内核
修改保存.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后直接从耳机里输出