alsamixer 无法打开混音器:无效的参数

Dan*_*iel 3 sound pulseaudio alsa 14.04

升级内核后,Ubuntu 14.04 中似乎没有声音......我用谷歌搜索了解决方案,但无法解决我的问题。我alsamixer在终端中输入命令。输出是这样的:cannot open mixer: Invalid argument。也修复不了。

奇怪的是,在我使用sudo apt-get install pavucontrol并使用pavucontrol. 当我播放音频时,控制面板已识别出它。

截图如下:

音量控制

use*_*149 6

我遇到了完全相同的问题。声音在 Windows 7 中运行良好,但在 Kubuntu 14.04 中却没有。经过多天在互联网上搜索并尝试所有可能的建议后,我想出了一个最终帮助我的解决方案。无需重新安装 Ubuntu。

首先,我尝试使用卸载所有 ALSA 包和东西

sudo apt-get remove --purge alsa-base pulseaudio
Run Code Online (Sandbox Code Playgroud)

并使用再次安装它们

sudo apt-get install alsa-base pulseaudio
Run Code Online (Sandbox Code Playgroud)

即使经过多次尝试仍然没有奏效

sudo alsa force-reload
Run Code Online (Sandbox Code Playgroud)

我读到 ALSA 的主音频通道在安装后被默认静音。所以我尝试使用alsamixer命令取消静音。不幸的是,由于Invalid argument错误,它没有工作。

搜索继续,我偶然发现了一个一直在搜索结果中的网站,但我没有注意到它。它提到了一些名为.asoundrc. 我寻找它,但在我的系统上没有找到它。另一个网站说你应该手动创建它(/home/username/.asoundrc仅限当前用户,或者/etc/asound.conf如果你想为所有用户保留这些设置)并将以下内容粘贴到那里:

pcm.!default {
    type hw
    card 0
}

ctl.!default {
    type hw           
    card 0
}
Run Code Online (Sandbox Code Playgroud)

之后,我能够打开alsamixer. 但是,屏幕是空的,没有按预期显示任何音量设置。 没有音量设置的 alsamixer 然后我打开了我的声卡列表

cat /proc/asound/cards
Run Code Online (Sandbox Code Playgroud)

原来我的笔记本电脑有两个声卡:

0 [Generic        ]: HDA-Intel - HD-Audio Generic
                     HD-Audio Generic at 0xf0344000 irq 28
1 [Generic_1      ]: HDA-Intel - HD-Audio Generic
                     HD-Audio Generic at 0xf0340000 irq 16
Run Code Online (Sandbox Code Playgroud)

前面提到的.asoundrc文件中默认设置了卡 0 。我尝试并更改01. 之后alsamixer显示了我需要的音量设置。 带有静音主通道的 alsamixer 正如 ALSA 文档所警告的那样,主通道默认是静音的。它由标签MM上方的字母表示Master。我使用?箭头键将音量增加到 100%。但这还不够。我还不得不按下M取消主通道静音的键,因为增加音量不会自动取消静音(取自此处)。按下字母后M,这意味着频道被取消静音。 MMOO带有未静音主通道的 alsamixer 声音终于出现了!按下Esc退出alsamixer并在您的 Ubuntu、Kubuntu 或您正在使用的任何发行版上享受各种声音和音乐。

重要提示:根本不要使用sudo alsa force-reload命令(如某些网站所建议的),因为它会再次使主频道静音,您将不得不重复取消静音过程!

PS:这几天很艰难,尝试了所有可能的事情才能再次听到。当然,我可以放弃并切换回 Windows 7,但我对您的建议是不要寻找简单的方法。Linux 方式并不适合所有人,但在完成挑战后,它真的感觉像个英雄。