持久虚拟输出

持久虚拟输出

我想要使​​用的声卡已被检测到并且可以工作(它最近才切换到虚拟输出并且不允许我返回)。

HDMI 不再列在音频和视频 - KDE 控制模块下;音频模块下的所有内容都设置为虚拟输出,并且它现在是列表中唯一的“声卡”。我可以在 alsamixer 中查看我以前的声卡,但从那里更改设置没有任何效果。

我怎样才能让我的真实声卡再次工作?

我已经尝试过以下答案,但没有成功:

如何才能让我的声音发挥作用?

编辑:

name@name-desktop:~$ lspci -vvv | grep -A8 Audio
00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Kaveri HDMI/DP Audio Controller
        Subsystem: ASRock Incorporation Kaveri HDMI/DP Audio Controller
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin B routed to IRQ 43
        Region 0: Memory at ff764000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
--
00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD] FCH Azalia Controller (rev 01)
        Subsystem: ASRock Incorporation FCH Azalia Controller
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 32, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 16
        Region 0: Memory at ff760000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: snd_hda_intel

这张图片可能有帮助吗?:

在此处输入图片描述

还有另一张声卡,但我不确定它是做什么用的,因为它从不输出声音,但它确实有很多设置:该声卡被标记为“HD-Audio Generic”。

在此处输入图片描述

在此处输入图片描述

因此我进入“附加驱动程序”选项卡下的“软件和更新”,然后看到了以下内容:

在此处输入图片描述

这是请勿使用所以我改变了它并应用了设置,但不幸的是即使重新启动后声卡也没有恢复。

答案1

我不知道问题是什么或者为什么会发生这种情况,但这对我有用。

pulseaudio --kill
pulseaudio --start

答案2

首先,替换所有以前的配置:

sudo apt update
sudo rm -R /etc/pulse/*
sudo apt-get -o DPkg::Options::="--force-confmiss" --reinstall install pulseaudio

然后运行以下命令:

sudo apt-get install --reinstall linux-image-$(uname -r)
sudo modprobe snd-hda-intel
rm -r ~/.config/pulse*
pulseaudio -k

来源


如果 alsa 出现问题,则运行以下命令可能会解决问题:

sudo apt update
sudo apt -o DPkg::Options::="--force-confmiss" --reinstall install libasound2 libasound2-data libasound2-dev libasound2-plugin-smixer libatopology-dev libatopology2 alsa-utils pulseaudio
rm -r ~/.config/pulse*
pulseaudio -k

答案3

这个问题似乎没有解决办法,所以我只是重新安装了 Kubuntu,声音效果就完美了。

缺点:抹去了其他所有内容(但我的 SSD 上没有太多内容,所以没事)

答案4

对我来说,问题是由一个锁定了声音设备的应用程序引起的。在我的情况下,是mplayer,但对你来说可能是其他原因。要获取这些应用程序的列表,请运行:

# fuser -v /dev/snd/*
                     USER       PID ACCESS COMMAND
/dev/snd/controlC0:  ...      899378 F.... mplayer
/dev/snd/pcmC0D0p:   ...      899378 F...m mplayer
/dev/snd/timer:      ...      899378 f.... mplayer

停止该应用程序后,我强制重新启动 pulseaudio:

/usr/bin/pulseaudio -k && sleep 1 && /usr/bin/pulseaudio --start

欲了解更多详情,请查看建筑维基,我在这里发现了诀窍:

显示的唯一设备是“虚拟输出”或未检测到新连接的卡

如果唯一的播放设备是虚拟输出,PulseAudio 将无法访问您的声音设备。登录授予权限可能存在问题,有关更多信息,请参阅常规故障排除#会话权限。

应用程序可能还未配置为与 PulseAudio 配合使用。例如,FluidSynth 就存在这种情况。要查看哪个应用程序负责通过 alsa 直接访问声卡,请运行以下命令:

# fuser -v /dev/snd/*

尝试关闭这些应用程序。如果正在运行,pulseaudio 应该再次优先于这些应用程序,并且所有依赖于 pulseaudio 的应用程序都应该像预期的那样再次工作。

相关内容