我猜是上次更新时发生的。我的声音突然停止工作。我尝试重新安装声音设备:
apt-get remove --purge alsa-base pulseaudio
apt-get install alsa-base pulseaudio
sudo alsa force-reload
它不起作用,仍然没有声音。我得到了以下输出:
Terminating processes: 10398 13040
13040
13040 13210
13210
13210 13381
13381
13381 (with SIGKILL:) 13552
13552
13552 (failed: processes still using sound devices: 13725(pulseaudio)).
/sbin/alsa: Warning: Processes using sound devices: 13725(pulseaudio).
Unloading ALSA sound driver modules: snd-seq-midi snd-seq-midi-event snd-seq snd-hda-codec-via snd-hda-intel snd-hda-codec snd-usb-audio snd-usbmidi-lib snd-hwdep snd-pcm snd-page-alloc snd-rawmidi snd-seq-device snd-timer (failed: modules still loaded: snd-hda-codec-via snd-hda-intel snd-hda-codec snd-usb-audio snd-usbmidi-lib snd-hwdep snd-pcm snd-page-alloc snd-rawmidi snd-seq-device snd-timer).
Loading ALSA sound driver modules: snd-seq-midi snd-seq-midi-event snd-seq snd-hda-codec-via snd-hda-intel snd-hda-codec snd-usb-audio snd-usbmidi-lib snd-hwdep snd-pcm snd-page-alloc snd-rawmidi snd-seq-device snd-timer.
当我执行时aplay -l
我得到以下输出:
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: VT1708S Analog [VT1708S Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 3: VT1708S Digital [VT1708S Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
似乎一个设备突然启动两次,并且使用相同的资源。我猜这就是为什么一个设备会阻塞另一个设备。我该怎么办?
[更新]
首先,我可以通过以下命令让它再次运行:
killall pulseaudio; rm -r ~/.config/pulse/* ; rm -r ~/.pulse*
等待十秒钟,然后运行以下命令:
pulseaudio -k
apt-get remove --purge alsa-base pulseaudio
apt-get install alsa-base pulseaudio
但玩了几分钟后它又停止工作了。当输出aplay -l
看起来像这样时它就可以工作了(参见子设备):
**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: VT1708S Analog [VT1708S Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 3: VT1708S Digital [VT1708S Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
当子设备都是 时,它显然不起作用1/1
。但为什么要进行这种切换,我该如何停止它?
[更新]
我重启了。重启后它又能正常工作了,但玩了几分钟后它突然又停止工作了。我可以确认,当一个子设备为 0/1,另一个为 1/1 时它能正常工作,当它停止工作时,两个都是 1/1?
[更新]
我添加了以下行
options snd-hda-intel model=generic
到
/etc/modprobe.d/alsa-base.conf
...重新启动后,一段时间内没有崩溃。我希望这是解决方案。
[更新]
没用。子设备再次更改。没有声音。
答案1
我现在找到了一个解决方法。它描述如下这里。
Edit the file /etc/pulse/default.pa.
Find the following line:
load-module module-udev-detect
Change the line to the following:
module-udev-detect tsched=0
然而,它以某种方式禁用了 pulseaudio,但目前我没有看到任何缺点。