时不时地,出于某种原因,我必须重新启动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 中的麦克风会停止工作。当我尝试更改它时,设置会显示一些错误消息:
麦克风被遮挡
未找到麦克风
扬声器选择被阻止
按照 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