jhu*_*tch 9 sound pulseaudio alsa
我对这个问题无能为力。我知道我已经看到这个问题一百万次,但似乎没有一个解决方案有效。
我有一台使用 Windows 8.1 双启动的华硕笔记本电脑,我从 15.10 升级到 16.04 并且无法使用扬声器;正如这些屏幕截图所证明的那样,声卡始终认为耳机已插入。
这不是硬件问题,因为 1) 声音在 Windows 8.1 上工作 2) 我可以通过使用 hdajackretask 禁用耳机插孔来使扬声器工作(设置覆盖,然后将其设置为“未连接”)但随后无法使用热键改变音量
我试过重新加载 alsa 并清除 alsa 并重新安装。
无论如何,我打算实际删除我的 Windows 8 分区。我在这里看到: 启动到 Windows 8.1 后,Ubuntu 14.04 中的笔记本电脑扬声器没有声音 ,Windows 可能导致问题。删除分区会帮助解决问题吗?
编辑:我已经按照那个问题的建议禁用了混合启动。
not*_*dds 12
将我的 Xubuntu 14.04 升级到 Xubuntu 16.04 时,我也遇到了这个问题(耳机发出声音,但扬声器不发出声音)。我有一个带有 Realtek ALC259 芯片的 HD Intel 声卡。使用从 3.13.X 到 4.10.X 的各种内核启动时问题仍然存在。
但是,我已经解决了,方法如下:
重要的是要了解 Pulseaudio(PA) 是 Ubuntu 及其大多数(全部?)变体的默认声音控制系统。PA 本质上是覆盖在核心 ALSA 音响系统之上。因此,对于 PA 中的每一个动作,ALSA 中都会有后续反应。对于 PA 中定义的每个输出(又名端口),对 ALSA 系统有一个定义的调整。这种调整被称为“混合路径”。
!!!重要的 !!!
在您继续之前,现在是验证这确实是您的问题的好时机,并且没有其他原因导致您的扬声器不工作。通过执行以下测试,您可以非常轻松地做到这一点。(如果您一直在摆弄您的音响系统,您可能希望在测试前将其恢复为默认设置):
打开你的终端并运行命令:
alsamixer
Run Code Online (Sandbox Code Playgroud)您应该看到以下内容:
由于声卡的差异,您的设备可能与图中的设备略有不同。就我而言,在解决问题之前,我的 alsamixer 看起来就像上图。
如果您可以从扬声器中听到声音,则此修复程序适合您!
如果您没有听到任何声音,请返回“The Google”并继续搜索。这种方法不会帮助你。
如果您从上面的测试中成功获得声音,我们现在需要做的是使用 alsamixer 设置来确定:
一旦我们知道扬声器工作的 ALSA 设置,我们就可以使用此信息对 PA 混音器路径进行必要的更改。
就我而言,我发现我的耳机和扬声器通过以下方式在 ALSA 中链接:
PulseAudio(PA) 中扬声器的默认混音器路径假定我的扬声器独立于我的耳机。正如上面观察 3 所证明的那样,情况并非如此。随后,每当在 PA 中选择扬声器输出时,我的扬声器的 PA 中的默认混音器路径都会在 ALSA 中进行以下有问题的更改:
考虑到我之前描述的 ALSA 连接我的扬声器和耳机的方式,对 ALSA 的这些更改将阻止声音从我的扬声器中传出。
所以,这个问题的解决方案是通过修改扬声器的混音器路径来获得的。
PA 混音器路径文件位于:
/usr/share/pulseaudio/alsa-mixer/paths/
要确定哪个混音器路径文件控制您的扬声器,您需要:
打开终端并运行以下命令:
pactl list | grep 'Active Port.*output.*'
Run Code Online (Sandbox Code Playgroud)它应该输出如下所示的内容:
活动端口:音频类型-输出-设备
IE
“活动端口”是当前控制 ALSA 设置的 PA 端口。由于您已经选择了扬声器作为 PA 输出,因此终端命令的此输出告诉您需要编辑混音器路径文件audiotype -output- device .conf。就我而言,混音器路径文件是analog-output-speaker.conf。
现在我们有了正确的混音器路径文件,我们需要进行更改。
注意:在此混音器路径文件夹中,有一个名为“analog-output.conf.common”的文件。该文件的内容解释了如何解释混频器路径文件。如果您想了解以下更改,我强烈建议您在编辑混音器路径之前查看此文件!
每个混音器路径文件都包含许多“元素”。理想情况下,每个文件中都有一个元素代表您计算机上的每个 ALSA 设备。可能还有您没有的元素。这是正常的。
就我而言,我需要通过以下方式更改模拟输出扬声器.conf的混音器路径中的耳机和扬声器元素:
原来的:
[Element Headphone]
switch = off
volume = off
Run Code Online (Sandbox Code Playgroud)
编辑:
[Element Headphone]
switch = off
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
Run Code Online (Sandbox Code Playgroud)
原来的:
[Element Speaker]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right
Run Code Online (Sandbox Code Playgroud)
编辑:
[Element Speaker]
required-any = any
switch = mute
volume = off
Run Code Online (Sandbox Code Playgroud)
然后,通过执行以下命令重新启动 PA:
pulseaudio -k && pulseaudio --start
Run Code Online (Sandbox Code Playgroud)
瞧!
归档时间: |
|
查看次数: |
23150 次 |
最近记录: |