音频设备卡住了

Alb*_*ert 5 sound pulseaudio

Audio device got stuck!
Run Code Online (Sandbox Code Playgroud)

这是我从 Mplayer 收到的错误消息。但在播放声音时,所有应用程序都会遇到同样的问题(默认情况下都使用 PulseAudio)。也就是说,我听到了极度口吃的声音,而且大部分都是悬而未决的。这也会导致任何视频挂起,例如 YouTube 视频(因此我的帖子在这里)。

这似乎与 PulseAudio 有关。因为当我通过 ALSA 玩时,它工作得很好。(即禁用 PulseAudio 控制器中的设备,然后使用mplayer -ao alsa:device=hw=1.0 ...。)

此外,该问题并不总是存在,而是在最近的某些更新后才出现。

乌班图20.04。

相关音频设备(通过lspci -nn):

09:00.1 Audio device [0403]: NVIDIA Corporation TU106 High Definition Audio Controller [10de:10f9] (rev a1)
0b:00.4 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]
Run Code Online (Sandbox Code Playgroud)

第二个设备是我要使用的设备。

head -n1 /proc/asound/card1/codec\#0:

Codec: Realtek ALCS1200A
Run Code Online (Sandbox Code Playgroud)

use*_*own 5

我也遇到了类似的音频问题。

我猜这是一个问题,与最近的更新有关,因为它以前从未发生过(Xubuntu 20.04 LTS 上为 1 到 2 周),并将在即将到来的更新中修复。在那之前,以下命令帮助我解决了几个小时的问题而无需重新启动:

pulseaudio --kill
# the same as:
# pulseaudio -k
Run Code Online (Sandbox Code Playgroud)

脉冲音频需要 2 到 3 秒,它会自动重新启动,并且通常执行音频的程序将再次运行,无需进一步干预;有时我必须重新启动受影响的程序(浏览器、vlc)。

至少我不必像 YT 视频经常建议的那样注销或重新启动计算机。

我希望这会有所帮助,并且很快就会提供真正的更新修复。


Alb*_*ert 0

也许和睡眠有关。

我在以下位置尝试过/etc/modprobe.d/alsa-base.conf

options snd-hda-intel position_fix=2
Run Code Online (Sandbox Code Playgroud)

sudo alsa force-unload一起killall pulseaudio(在循环中)直到我最终卸载所有模块,然后通过sudo modprobe snd-hda-intel.

现在看来暂时又起作用了。


再次重启后,我又遇到了这个问题。我再次做了这个循环:

$ while true; killall pulseaudio; sudo alsa force-unload; end
Run Code Online (Sandbox Code Playgroud)

经过一些迭代之后成功了,我做了:

sudo modprobe snd-hda-intel
Run Code Online (Sandbox Code Playgroud)

这再次解决了问题。

我不确定这是否position_fix=2真的相关。但我也不知道真正的问题是什么。