重新启动 pulseaudio 时 Chrome 无法重新连接到我的麦克风

重新启动 pulseaudio 时 Chrome 无法重新连接到我的麦克风

时不时地,出于某种原因,我必须重新启动pulseaudio才能修复音频。我遇到的问题是,Chrome 完全拒绝识别我的麦克风没有重新启动 chrome。如果我重新启动 chrome,它似乎可以解决这个问题,但我往往打开了许多窗口和工作,我不应该重新启动整个程序来让它识别我的麦克风存在。我已经在 Firefox 中测试过了,它重启后仍然可以看到我的麦克风pulseaudio,所以 Chrome 也应该可以做到这一点。

我是不是错过了 Chrome 无法查看音频设备的原因?我猜是因为 Chrome 重启后与 pulse 的“连接”断开了,运行时无法重建连接。或者有没有更好的方法可以在pulseaudio不运行的情况下重启pulseaudio -k,这样 Chrome 的连接就不会断开?

我正在运行 Kubuntu 20.04。

2023 年 1 月更新:这个问题似乎不再发生在我身上。这是一个相当老的问题,从那时起我的设置发生了很多变化,所以我不能说到底是什么解决了它。我最近升级到了 Kubuntu 22.04,现在我在使用 Chrome v108.0.5359.98。我可以确认我只需要pulseaudio -k重新启动它和 Chrome做过再次拾取音频。

但是我知道这个问题仍然在不断被关注,所以如果它仍然发生在你​​身上,下面的解决方案对我来说总是有效的,即使这是一个额外的步骤,所以我建议尝试一下。

答案1

这是 Chromium(以及基于 Chromium 的浏览器)的一个已知问题。

https://bugs.chromium.org/p/chromium/issues/detail?id=1085744#c3

目前唯一无需重新启动的解决方法是重新启动浏览器音频服务。

Shift + Esc。在打开的任务管理器窗口中找到Utility: Audio Service(对我来说,它通常位于最底部),然后单击End Process。刷新页面,就大功告成了。

答案2

我遇到了类似的问题,重启后管线管道线脉冲Google Meet 中的麦克风会停止工作。当我尝试更改它时,设置会显示一些错误消息:

麦克风被遮挡

未找到麦克风

扬声器选择被阻止

pipewire pipewire-pulse Chrome Google Meet 错误:麦克风被阻止。未找到麦克风。扬声器选择被阻止。

按照 Michael 的回答,我可以通过终止 Chrome 音频服务然后重新加载 Google Meet 来解决该问题:

# Restart system audio
systemctl --user restart pipewire pipewire-pulse
systemctl --user daemon-reload
sleep 10

# check default sink (Speakers) and source (Microphone)
pactl info | grep Default

# fix defaults using system sound settings or:
pactl list short sinks
pactl set-default-sink $SINKID
pactl list short sources
pactl set-default-source $SOURCEID

# Can also try moving existing streams to the new default (doesn't always work):
pactl list short sink-inputs | cut -f1 | xargs -I{} pactl move-sink-input {} $SINKID
pactl list short source-outputs | cut -f1 | xargs -I{} pactl move-source-output {} $SOURCEID

# Fix issues with existing chrome sessions (page may need to be refreshed)
pkill -f "/opt/google/chrome/chrome --type=utility --utility-sub-type=audio"
sleep 10

相关内容