博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ArchLinux安装完没有声音之解决办法
阅读量:5748 次
发布时间:2019-06-18

本文共 2655 字,大约阅读时间需要 8 分钟。


自己的机子是联想Y410p,之前安装完arch系统一直不能播放声音(桌面环境用的是i3-wm),自己又不懂得设置,今天对电脑进行配置,顺带把声音的问题解决了。

ALSA参照arch官网,

高级 Linux 声音体系(Advanced Linux Sound Architecture,ALSA)是Linux中提供声音设备驱动的内核组件,用来代替原来的开放声音系统(Open Sound System,OSSv3)。除了声音设备驱动,ALSA还包含一个用户空间的函数库,以方便开发者通过高级API使用驱动功能,而不必直接与内核驱动交互。

Arch 默认的内核已经通过一套模块提供了 ALSA,不必特别安装。
udev会在系统启动时自动检测硬件,并加载相应的声音设备驱动模块。这时,你的声卡已经可以工作了,只是所有声道默认都被设置成静音了。

解除各声道的静音

目前版本的 ALSA 安装后,所有声道默认是静音的,必须手动解除。

使用 alsamixerncurses 界面,配置十分简单:

$ alsamixer

此外,还可以在命令行下使用 amixer:

$ amixer sset Master unmute

在 alsamixer 中,下方标有 MM 的声道是静音的,而标有 00 的通道已经启用。

使用 ← 和 → 方向键,选中 Master 和 PCM 声道。按下 m 键解除静音。使用 ↑ 方向键增加音量,直到增益值为0。该值显示在左上方 Item: 字段后。过高的增益值会导致声音失真。
要想得到完整的 5.1 或 7.1 环绕立体声,还得解除 Front、Surround、Center、LFE (subwoofer) 和 Side 这些声道的静音(上述名称是 Intel HD Audio 声卡使用的声道名,可能因设备不同而有所差异)。注意,仅有这些设置,系统不会自动将立体声源(多数音乐)提升(upmix)成环绕立体声。如果需要这些功能,请阅读#Upmixing/Downmixing。
要启用麦克风,切换至 Capture 选项卡,按下 F4,按下 空格 启用其中一个声道即可。
按下 Esc 键退出 alsamixer。

问题是这样的

使用alsamixer设置之后还是没有声音的,就使用第二种方法,出现error:

amixer: Unable to find simple control 'Master',0

表示不能设置,或是找不到声卡设备,我还以为安装完没有声卡驱动。

用命令获取声卡的声卡ID和设备ID

$ aplay -l**** List of PLAYBACK Hardware Devices ****card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0]  Subdevices: 1/1  Subdevice #0: subdevice #0card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1]  Subdevices: 1/1  Subdevice #0: subdevice #0card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2]  Subdevices: 1/1  Subdevice #0: subdevice #0card 1: PCH [HDA Intel PCH], device 0: ALC282 Analog [ALC282 Analog]  Subdevices: 1/1  Subdevice #0: subdevice #0card 1: PCH [HDA Intel PCH], device 1: ALC282 Digital [ALC282 Digital]  Subdevices: 1/1  Subdevice #0: subdevice #0

声卡信息应该是没有问题的。

在amixer配置音频

scontrols " show all mixer simple controls

$ amixer scontrolsSimple mixer control 'IEC958',0Simple mixer control 'IEC958',1Simple mixer control 'IEC958',2

然而并没有“Master”,这种情况应该是默认声卡不对。

-c,--card N " select the card

$ amixer -c 1 scontrolsSimple mixer control 'Master',0Simple mixer control 'Headphone',0Simple mixer control 'Speaker',0Simple mixer control 'PCM',0Simple mixer control 'Mic',0Simple mixer control 'Mic Boost',0Simple mixer control 'IEC958',0Simple mixer control 'IEC958 Default PCM',0Simple mixer control 'Beep',0Simple mixer control 'Capture',0Simple mixer control 'Auto-Mute Mode',0Simple mixer control 'Internal Mic Boost',0

问题就出现在默认声卡不对,解决问题的办法就是修改默认声卡。

在刚才 aplay -l 里面选择声卡1,设备ID为0的声卡

把下列配置添加到系统级别的 /etc/asound.conf 或用户级别的 ~/.asoundrc 文件。如果文件不存在,可以手动创建。其中的各个ID,请根据实际情况调整:

defaults.pcm.card 1defaults.pcm.device 0defaults.ctl.card 1

pcm选项决定用来播放音频的设备,而ctl选项决定那个声卡能够由控制工具(如 alsamixer)使用。

上述配置在重启音频程序(如 mplayer)后立即生效。

题外话:

在i3-wm还要自己配声音,我也是醉了,强大如gnome的都给配置好了。

转载地址:http://dlazx.baihongyu.com/

你可能感兴趣的文章
avcodec_open2()分析
查看>>
何如获取单选框中某一个选中的值
查看>>
QQ悬浮返回顶部
查看>>
MySQL建表语句的一些特殊字段
查看>>
腾讯前端二面题目详解
查看>>
mascara-1
查看>>
Jquery Form表单取值
查看>>
Android API level 与version对应关系
查看>>
Team Name
查看>>
String类
查看>>
西门子_TDC_数据耦合小经验
查看>>
LINQ To XML的一些方法
查看>>
[LeetCode] Copy List with Random Pointer
查看>>
openstack部署之nova
查看>>
JS组件系列——表格组件神器:bootstrap table
查看>>
存储过程Oracle(一)
查看>>
log4j日志归档
查看>>
mysql遇见error,1049
查看>>
codevs——2822 爱在心中
查看>>
Python基础班---第一部分(基础)---Python基础知识---认识Python
查看>>