Linux系统声卡问题
问题:Linux系统中有声卡设备,但是听不到声音
一、声卡驱动没有安装
1、通过插拔声卡查出声卡驱动
2、在相应的kernel中编译内核
修改保存.config文件,然后进行编译
make -j 10 make modules make modules_install
reboot重启机器后可以“lsmod”查看驱动
3、将2号声卡改为默认声卡:
1、# aplay -l -----> list all soundcards and digital audio devices 2、# vi /usr/share/alsa/alsa.conf --->修改默认声卡的配置文件 3、修改udev规则 #cat /etc/ocs.d/files/configs/TM-1000/etc/udev/rules.d/02-set-default-alsacard.rules SUBSYSTEM=="usb", ACTION=="add", ATTRS{idVendor}=="0d8c", ATTRS{idProduct}=="0014", RUN+="/bin/sed -i \'/^defaults.pcm.card [0-9]/cde faults.pcm.card 4\' /usr/share/alsa/alsa.conf"
二、查看alsamixer配置是否出错
(1)/usr/share/alsa/alsa.conf ------>/proc/asound/devices的脚本文件 (2)/etc/modprobe.d/alsa.conf ------>加载/root/a.out的文件 (3)/proc/asound/cards ------>确定当前可以使用的设备号device (4)/proc/asound/card0/codec#0 (5)/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 8 bit, Rate 8000 Hz, Mono #+ | 01%
2、arecord用法
# arecord -f cd -V stereo /dev/null #不录到文件里,直接看录间的音量大小
3、arecord与aplay混合使用
# arecord -f cd -V stereo | aplay # 环路测试,mic的输出经过一定的delay后直接从耳机里输出
版权声明:本文为carriezhangyan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。