多媒体键有时会停止工作

bma*_*pin 6 gnome multimedia 18.04

我在 Gnome 上使用 Ubuntu 18.04。我的多媒体键(播放/暂停、停止等)工作正常,然后突然停止工作。

我特别希望他们与 Spotify 合作。

bma*_*pin 13

常见解决方案

如果多媒体键已经工作但停止工作,以下一种或多种解决方案可能会有所帮助:

  • 重新启动gsd-media-keys(请参阅下面的故障排除以了解为什么需要这样做)

  • 尝试关闭所有应用程序,然后先打开要接收多媒体密钥的应用程序

    • 接收多媒体键的应用程序可能会接受所有按键并阻止其他应用程序接收它们
    • 接收多媒体键的常见应用:
      • 铬合金
      • 火狐
      • Spotify
      • 如果您开始播放媒体文件(例如 Microsoft Teams),其他基于 Electron 的应用程序可能会抓取多媒体键
  • 另一种解决方法是完全禁用某些应用程序的多媒体键支持

    • 铬合金
      1. 在地址栏中转到 chrome://flags/#hardware-media-key-handling
      2. 将值更改为 Disabled
      3. 重启 Chrome
    • 火狐
      1. 在地址栏中转到 about:config
      2. 如有必要,单击接受风险并继续
      3. 搜索 media.hardwaremediakeys.enabled
      4. false通过单击切换按钮将其设置为
      5. 重启火狐
  • 将媒体快捷键重置为其默认值

    dconf reset /org/gnome/settings-daemon/plugins/media-keys/next
    dconf reset /org/gnome/settings-daemon/plugins/media-keys/pause
    dconf reset /org/gnome/settings-daemon/plugins/media-keys/play
    dconf reset /org/gnome/settings-daemon/plugins/media-keys/previous
    
    Run Code Online (Sandbox Code Playgroud)
  • 如需更多控制,请参阅Playerctl


故障排除

  1. 使用dbus-send要列出通过配置的应用MPRIS接收多媒体键,如:

    $ dbus-send --print-reply --dest=org.freedesktop.DBus  /org/freedesktop/DBus org.freedesktop.DBus.ListNames | grep org.mpris
      string "org.mpris.MediaPlayer2.spotify"
      string "org.mpris.MediaPlayer2.chrome.instance22348"
    
    Run Code Online (Sandbox Code Playgroud)

    在这个例子中,你可以看到 Spotify 和 Chrome ( org.mpris.MediaPlayer2.chrome.instance22348) 被配置为接收多媒体键

    • 注意:如果您看到类似org.mpris.MediaPlayer2.chromium.instance16163但未安装 Chromium的条目,则它可能适用于基于 Electron 的应用程序。
  2. 观察 /var/log/syslog

    tail -F /var/log/syslog
    
    Run Code Online (Sandbox Code Playgroud)
  3. 按媒体键(播放、暂停、停止等)

  4. 在日志中查找任何相关消息,例如

    Mar 26 12:23:17 hostname gsd-media-keys[1762]: Error calling method GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.mpris.MediaPlayer2.chrome.instance10062 was not provided by any .service files
    
    Run Code Online (Sandbox Code Playgroud)

    在此示例中,您可以看到密钥正在发送到,org.mpris.MediaPlayer2.chrome.instance10062即使该应用程序不在步骤 1 中的列表中。

    解决方案(以上)是重新启动gsd-media-keys

  5. 如果以上都没有帮助,请确保媒体键快捷键都设置为其默认值

    dconf read /org/gnome/settings-daemon/plugins/media-keys/next
    dconf read /org/gnome/settings-daemon/plugins/media-keys/pause
    dconf read /org/gnome/settings-daemon/plugins/media-keys/play
    dconf read /org/gnome/settings-daemon/plugins/media-keys/previous
    
    Run Code Online (Sandbox Code Playgroud)

    如果键都设置为其默认值,则不应返回任何输出,例如:

    $ dconf read /org/gnome/settings-daemon/plugins/media-keys/next
    $ dconf read /org/gnome/settings-daemon/plugins/media-keys/pause
    $ dconf read /org/gnome/settings-daemon/plugins/media-keys/play
    $ dconf read /org/gnome/settings-daemon/plugins/media-keys/previous
    $
    
    Run Code Online (Sandbox Code Playgroud)

  • 我的问题与谷歌浏览器有关。它正在捕获媒体键并将标志设置为禁用,工作正常,谢谢! (5认同)
  • +1,Chrome 也拦截了我的密钥。通过禁用 chrome 标志,它起作用了!谢谢! (2认同)
  • 很好 - 感谢您提供详细的故障排除步骤和各种修复! (2认同)