![升级到 Ubuntu 19.04 后模拟输出无声音](https://linux22.com/image/1167086/%E5%8D%87%E7%BA%A7%E5%88%B0%20Ubuntu%2019.04%20%E5%90%8E%E6%A8%A1%E6%8B%9F%E8%BE%93%E5%87%BA%E6%97%A0%E5%A3%B0%E9%9F%B3.png)
所以我刚刚更新到 19.04,我的集成声卡停止提供模拟输出接收器,这是 pactl 输出:
~ $ pactl list short sinks
0 alsa_output.usb-Logitech_Logitech_Wireless_Headset_000D443A6F5C-00.analog-stereo module-alsa-card.cs16le 2ch 48000Hz RUNNING
1 alsa_output.pci-0000_20_00.1.hdmi-stereo-extra2 module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
2 alsa_output.pci-0000_20_00.1.hdmi-stereo-extra2.2 module-alsa-card.c s16le 2ch 44100Hz RUNNING
3 alsa_output.pci-0000_20_00.1.hdmi-stereo-extra2.3 module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
我仍然可以通过这些接收器播放声音,但要么是无线耳机,要么是我的监听扬声器,它们都是垃圾。
有一次我设法找回了模拟接收器,我想是通过重新安装 alsa,但重启后它就消失了。运行acmd unload-module module-udev-detect && pacmd load-module module-udev-detect
似乎也没有帮助。
有任何想法吗?
答案1
我发现了另一个问题(内核升级到 Linux 5.0 后,Ubuntu 18.04.2 LTS 没有声音),它的作者给出了对我有用的答复。
pactl list short sinks
这是我跑步的成果:
1 alsa_output.pci-0000_00_1f.3.iec958-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE
2 alsa_output.pci-0000_03_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
运行该命令pactl load-module module-detect
对我有用,执行后,第一个命令的输出是:
1 alsa_output.pci-0000_00_1f.3.iec958-stereo module-alsa-card.c s16le 2ch 44100Hz IDLE
2 alsa_output.pci-0000_03_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
3 alsa_output.2.analog-stereo module-alsa-sink.c s16le 2ch 44100Hz IDLE
我检查了一下,模拟输出再次可用!:D。
重要的:pacmd load-module module-udev-detect
注意您的命令 ( ) 和建议命令 ( )之间的区别pactl load-module module-detect
。
编辑:
按顺序运行以下命令(而不是仅执行我提供的命令),使系统识别更多的输出接收器(按相反的顺序执行可能会导致替换接收器而不是在顶部添加而不删除先前添加的接收器):
pactl load-module module-alsa-sink
pactl load-module module-detect
pactl list short sinks
:
2 alsa_output.pci-0000_03_00.1.hdmi-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
3 alsa_output.2.analog-stereo module-alsa-sink.c s16le 2ch 48000Hz SUSPENDED
12 alsa_output.pci-0000_00_1f.3.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
13 alsa_output.2.analog-stereo.2 module-alsa-sink.c s16le 2ch 44100Hz IDLE
答案2
通过两个命令检查 aplay 和 pulseaudio 看到的内容是否存在差异:
$ aplay -l
$ pacmd list-cards
如果第二个命令不包含模拟输出,但aplay
列出了它,那么某些东西正在抓取模拟输出,从而阻止脉冲音频使用它们。这博客文章表明胆怯可以抓取接口。您是否安装了 timidity?请尝试停止或删除它。