如何在Spotify中覆盖iTunes的“媒体”键(播放、暂停等)?

在Mac键盘上按下“媒体”键(播放、暂停、上一首、下一首等)时,是否可以将Spotify设置为默认程序?

大部分情况下,当Spotify打开时,“媒体”键都能正常工作。但偶尔按下这些键时会弹出iTunes。如果你可以指定这些键触发时默认使用Spotify而不是iTunes,会更好。

如果有关系的话,我正在使用Mountain Lion操作系统。


3在Super User上有一个类似的问题:我该怎么做才能阻止播放/暂停按钮打开iTunes? - Lri
1我认为这里被寻找的关键特性是当按下其中一个媒体键时,能够打开Spotify。 - chrowe
4允许媒体键在多个应用程序和网站上使用Beardedspice:http://beardedspice.github.io/ - Beau Smith
两个关于BeardedSpice(也称为BS)的事情: 1)在你取消选中除了Spotify之外的所有其他应用程序后,你必须关闭并重新打开它。 2)播放/暂停按钮只有在Spotify已经运行时才能起作用(sadpepe)。如果Spotify应用程序尚未运行,BS将无法工作(即它不会像MacOS对于Apple Music/iTunes那样自动启动它)。尽管BS的功能不完全相同,但只要我始终保持Spotify处于打开状态(是的,BS具有辅助功能权限),它就足够好用。FYI - 在Ventura 13.4上,你需要使用BS,因为Mac Media Key Forwarder不兼容。 - crobs808
21个回答

软件 Beardedspice 提供了一种用户友好的方式来优先处理 Spotify 的媒体按键。它在后台运行,并在 Mac 菜单栏中提供了一些简单的设置。它非常好用。

Beardedspice running in the background to handle media keys.

下载和安装

可以直接从Beardedspice主页下载和安装,或者使用Homebrew等方式:

brew install --cask beardedspice

注意事项

  • 它与macOS Monterey兼容。
  • 确保在“系统偏好设置”的“安全性与隐私”中给予应用程序足够的权限
  • Beardedspice支持控制大量的媒体播放器。只需禁用任何不需要的播放器,同时保持Spotify启用。
  • 我与开发人员没有关联,我只是一个满意的用户。

更新2021-01-16 - 由于Mac Media Key Forwarder不再更新,请使用Beardedspice作为替代应用

由于有报告Mac Media Key Forwarder无法正常工作,并且开发者不再更新该应用,建议使用Beardedspice

尽管如此,对于大多数运行在例如macOS High SierraMojaveCatalinaBig SurMontereyVentura上的用户来说,Mac Media Key Forwarder仍然可以正常工作,因此它仍然是一个替代选择。

enter image description here

下载和安装

可以直接从GitHub下载和安装,或者使用Homebrew等方式:

brew install --cask macmediakeyforwarder

3我无法让macmediakeyforwarder正常工作,但是我找到了一个类似的项目叫做beardedspice,它似乎有更多的支持:https://github.com/beardedspice/beardedspice - Alan
@Alan 它仍然完美运行,但系统可能有所不同。如果需要更新,最新版本始终可以在 Mac Media Key Forwarder - versions 找到。确实,你提供的项目也能解决这个问题,并且如果有人想要更多自定义选项,它也非常有用。感谢你提供相关参考。 - Nerolite
1尝试了最新版本,但仍无法使其正常工作。似乎milgra意识到了这个问题,但不知道如何解决:https://github.com/milgra/macmediakeyforwarder/issues/81#issuecomment-539969280 -- 尝试了beardedspice,效果非常好。 - Toland H
非常感谢您的反馈。我已经修改了解决方案的描述,包括这些问题报告和可用于实现相同功能的替代软件。 - Nerolite
我找不到/添加不了自己的播放器到列表中:/ - Dr.jacky
1@Dr.jacky 请查看BeardedSpice的支持的应用和网站,以及如何添加新的应用和网站。 - Nerolite
这个在Big Sur上能用吗? - John D
1@JohnD Mac Media Key Forwarder 应该可以在 macOS Big Sur 上运行(只要它被赋予足够的权限)。不过,由于 Mac Media Key Forwarder 不再由开发者维护,我已将主要推荐更改为 Beardedspice - Nerolite
1我刚刚尝试了BeardedSpice,似乎它损坏了我的暂停/播放键。现在即使卸载了它,它也不再响应输入了:( - John D
1BeardedSpice不再维护,但是Beardie已经分叉并且有很大改进。 - huyz
2当我按下播放按钮时,无论是BeardedSpice还是Beardie都无法打开Spotify。我使用的是Monterey 12.0.1操作系统。 - Chucky
只是为了排除一些简单的问题。在媒体控制器列表中,Spotify复选框是否已激活? - Nerolite
2使用此帖子中的配置,BeardedSpice没有在我按下播放按钮时使Spotify弹出,但它确实阻止了iTunes的弹出。然而,它使播放/暂停一致需要整整一秒钟才能注册,这真的很烦人。不得不卸载它,然后重新启动计算机才能回到之前的状态。这是在Big Sur上发生的。 - Sean Colombo
1我刚刚测试了两个,Mac Media Key是唯一一个真正允许我将Spotify置于所有其他应用之上的选项。这个版本适用于macOS Monterey。https://github.com/quentinlesceller/macmediakeyforwarder/releases - CIRCLE
Mac Media Key Forwarder在MacOS Monterey 12.5.1上不再起作用了;我使用它已经有几年了,直到它突然停止工作。我不得不卸载它。 - Reinier Garcia
@ReinierGarcia Mac Media Key Forwarder 在我运行12.5.1的系统中仍然有效。我建议您在“安全与隐私”中检查该应用程序的访问权限,尽管您可能已经这样做了。 - Nerolite
它是专门使用Spotify还是仍然保持了播放/暂停上一个活动的媒体应用的核心功能?也就是说,可以在YouTube、Spotify或VLC之间切换。 - Markus
你可以选择所有应用程序/媒体控制器(如Spotify、Youtube、VLC等),让软件跟踪它们。然后,最后活动的方法就是在它们之间进行选择。顺便提一下,与Beardedspice相比,使用Beardie(https://github.com/Stillness-2/beardie)可能更有益,因为前者正在积极维护。 - Nerolite
尝试了BeardedSpice:它阻止了Apple Music的打开,但无法打开Spotify。好吧,我猜它有点帮助。安装一个完全独立的应用程序来解决这个问题真是令人恼火。注意到它没有得到维护,于是尝试了分支版本Beardie。也没有解决问题。卸载了两者。现在我的播放/暂停按钮完全不起作用了。太棒了。不确定是哪个应用程序引起的。唉。 - TJ Biddle
@TJBiddle 很抱歉听到这个消息。Mac Media Key Forwarder 在 MacOS Ventura 上继续运行良好。你试过这个了吗? - Nerolite
与TJBiddle类似,安装BeaderdSpice不仅无法打开Spotify,而且在播放几秒钟后会导致Spotify崩溃。真是让人抓狂。 - undefined

我发现这个问题对我来说并不一致,所以当它发生时,我会使用这种相当破坏性的方法:
  1. 打开“活动监视器”,可以在Spotlight中轻松找到
  2. 从对话框顶部的选项卡中选择“CPU”或“内存”
  3. 在右上角的搜索框中输入:itunes
  4. 你要找的是“ituneshelper”。找到它,点击它,然后选择“强制结束”
  5. 接受确认

Spotify也有一个运行的助手。我猜它取决于哪个先加载。


永久解决方案

根据下面的评论 - 您可以从登录项目中简单地将其移除:

  1. 在“系统偏好设置”中搜索“登录项目”
  2. 选择iTunes助手
  3. 点击[-]按钮
  4. 重新启动您的Mac

12不要每次都关闭它,你可以在登录项中禁用它,谢谢,不过这真的让我疯了。 - geermc4
32对我没用。 - Steve Moser
"或者从 shell 执行 'killall iTunesHelper'?" - Elvis Ciotti
2@geermc4的答案是正确的长期解决方案。它将阻止iTunes在您的计算机重新启动时自动启动。如果您从不重新启动计算机,请按照jakeisonline的答案操作。 - ArtSabintsev
这对我有用:https://forums.macrumors.com/threads/ituneshelper-keeps-appearing-in-login-items.1429456/#post-17114130 为了后世... iTuneshelper.app是iTunes软件包的一部分。要禁用iTuneshelper.app,您需要通过Option点击或右键点击并选择“显示包内容”来查看iTunes.app的内容。iTuneshelper.app位于MacOS文件夹中。将iTuneshelper.app重命名为iTuneshelper-disable.app,这将阻止其启动并添加到登录项中。 - Nate Ritter
10这在我的 macOS 10.13.2 (17C205) 上没有起作用。 - Cypress Frankenfeld
3在10.13.5版本中也无法工作,看起来这不再是一个有效的解决方案了 ): - Jethro
4在10.14版本中也无法工作。 - KMSTR
1不是10.15。 - simPod
4在2018年10月9日也不是10.15。Mojave的版本是10.14。还没有OSX 10.15。你是来自未来吗? - Lucio Mollinedo
我可以确认,即使在2019年,使用一台苹果Mac Mini也能正常运作。谢谢。 - dsignr
2我在想为什么这个回答得到了最高的投票,如果它对任何人都不起作用的话?(对我也是如此)。在这种情况下,考虑给出“-1”的投票。这正是引起问题关注的方法。 - skywinder
1登录项中没有iTunes助手。 - Dmitriy Dokshin

Lifehacker之前曾经发表了一篇关于这个问题的文章,针对Snow Leopard系统。http://lifehacker.com/5531707/free-your-macs-media-keys-from-itunes-grasp 我们以前使用的技巧远非理想,需要在后台启动QuickTime,或者对iTunes.app中的系统文件进行严重修改。NoMitsu创建了一个一键安装程序,修补了远程控制守护进程,该应用程序负责管理媒体按键。只需下载该补丁并双击运行。输入密码后,您的媒体按键将不再受iTunes的限制。 我猜您可能已经尝试过这个方法。据我记得,媒体按键将控制最后一个活动的程序,所以如果Spotify是您最后打开的媒体应用程序(并且当前仍然打开),那么媒体按键将控制它。希望这对您有所帮助。

5据我回忆,媒体键将控制最后一个活动的程序,所以如果Spotify是你最后打开的媒体应用(并且目前仍然打开),那么媒体键将控制它。希望这对你有所帮助。不,事实并非如此。我在10.13.2上进行了测试,结果并不是这样。它一直在打开iTunes。 - Lucio Mollinedo
那个由NoMitsu开发的mmix.app的下载链接已损坏,似乎没有任何看起来可靠的来源。而且你提供的链接是指向一个较早的lifehacker文章,引用了你引用的文章 - tilltnet

我多年来一直遇到这个问题,而且不仅仅是在iTunes上。当在Keynote或其他应用程序中使用媒体键控制器时,Spotify(或其他音乐播放器)无法正常工作。 但现在我终于找到了解决方法! 过程可能会比较冗长,但还是让我来告诉你吧。 将媒体键绑定到一个特定的音乐播放器,只限于该播放器:
  • 打开系统偏好设置 > 键盘 > 选择 "将所有F1、F2等键作为标准功能键"。(这将禁用所有快捷控制,如亮度和音量)
  • 下载 "Karabiner"
  • 选择 "更改F1..F19键和功能键..." > "更改F1..F19键" > "F1..F12到功能键"
  • 启用除了 "F7, F8, F9到音乐控制" 之外的所有按键(除非您想将其他按键映射到您选择的功能)(现在亮度等应该可以正常工作了)
  • 下载并安装 FastScripts
  • 打开 Automator 并创建一个新的服务
  • 将 "service receives selected:" [text] 更改为 [no input]
  • 在主屏幕上添加 "运行Apple脚本" 动作
  • 输入并保存以下三个Apple脚本(适用于Spotify,但我相信这也适用于其他一些媒体播放器)到文件夹 [您的用户名]/Library/Scripts:

try
tell application "Spotify"
    playpause
end tell
end try
return

try
tell application "Spotify"
    previous track
end tell
end try
return

try
tell application "Spotify"
    next track
end tell
end try
return
最后,在FastScripts中,转到“脚本快捷键”,将F7、F8和F9设置为您的脚本快捷键!就这么简单!=) 编辑:Karabiner在Sierra上尚不可用,但一个名为“Karabiner Elements”的预发布版本可以解决问题。在这种情况下,跳过上述列表中的前4个步骤,改为: 安装Karabiner Elements 选择功能键并映射f7>f7,f8>f8,f9>f9 (然后按照上面的列表继续安装Fastscripts。)

1给这个人一个奖章。 - Jonas Borggren
那你最好使用Spotify原生快捷键。媒体键是特殊的按键代码,它们不是功能键。它们占据键盘上相同的位置纯属巧合,并不能解决我的问题。这里提出的问题问得很好,只有回答问题所问才能解决我的问题。例如,我的蓝牙耳机将媒体键作为其控制的一部分发送,而这种方法对我没有帮助。如果我有一些非标准键盘,这种方法也不会对我有帮助。 - Marius
你是什么意思?原生快捷键只在使用Spotify时有效(并且当你切换到其他应用程序时,该应用程序不会占用媒体键),对吗?比如切换到Keynote会破坏Spotify对媒体键的“绑定”,导致无法控制Spotify。我再次阅读了你的问题,并且在我的理解中,我遇到了和你完全相同的问题。这个解决方案对我有用,所以也许你可以再试一次? - Per Rundblom
1对我来说运行良好,但是遇到了一些延迟。我不确定瓶颈是在服务端还是Fastscripts上。我注意到执行其他脚本也有一点延迟,所以我倾向于认为问题出在这方面。 - juil

在四处寻找一段时间后,我终于找到了https://github.com/zsszatmari/MagicKeys。 它不仅适用于Spotify,还可以让您选择在按下媒体键时启动任何应用程序。 我只看到两个小问题(其中一个也是默认的iTunes行为问题)。
  1. 它使用任意3个媒体按钮来打开应用程序。虽然这是原始问题所要求的,但这不是iTunes的默认行为。iTunes只会在按下播放/暂停按钮时打开,而不是返回/前进按钮。理想情况下,用户应该能够选择这个选项。
  2. 在启动应用程序后,它不会自动开始播放媒体。这也是iTunes的默认行为,但如果您只需按一次播放键即可打开Spotify并开始播放音乐,那将更好。

1就是这样。这就是最好的答案。 从以下链接下载Magic Keys:https://github.com/zsszatmari/MagicKeys/releases,并使用以下设置:http://treasurebox-gear.s3.amazonaws.com/magickeys.png - David Lopez
1这对我起作用!我从这里找到/下载它:http://www.gearmusicplayer.com/extras.html - skplunkerin
1必须重新启动才能生效。无疑是最佳解决方案。 - Bob H

设置>用户和组>登录项目

  • 删除 iTunes 助手
  • 添加 Spotify(勾选隐藏)

重新启动计算机。由于 Spotify 在后台打开而不是 iTunes,它将始终播放 Spotify。

enter image description here


无法使此解决方案在较新的M1 Mac上运行。 - Ro Yo Mi

继 @sjg 的意见之后,你可以在启动时保持 Spotify 打开(假设你不需要 iTunes 在启动时打开),这样你就能够从登录开始就让媒体键与 Spotify 兼容。但需要注意的是,这只是一种权宜之计,并非真正的完整解决方案。如果你希望 Spotify 在启动时自动打开,请前往 Spotify > 首选项,然后向下滚动至“登录电脑后自动打开 Spotify”,选择自动打开即可。

你可以去应用程序库,使用终端手动删除iTunes.app: sudo rm -rf /Applications/iTunes.app 这样做不会自动将Spotify设置为默认媒体播放器,但是iTunes将不再存在于你的电脑上。

3问题不是如何移除iTunes,而是如何更改键盘行为。移除操作系统提供的应用程序是解决播放按钮偶尔打开iTunes的危险途径。 - samh
17尽管如此,这种残酷的回答确实有些好处。 - Mirek Rusin
我可以确认这在Mojave上运行,并且无需iTunes真是太棒了。 - Michael DiStefano
有点过于粗暴,但可以。另一个选择是移除执行权限:sudo chmod -x /Applications/iTunes.app/Contents/MacOS/iTunes - minusf

正如Beau Smith在评论中建议的那样,这款应用程序BeardedSpice非常出色!不仅适用于Spotify,还适用于许多其他服务(Netflix,YouTube,SoundCloud等等)。
BeardedSpice是一款适用于Mac OSX的菜单栏应用程序,它允许您使用Mac键盘上的媒体键来控制基于Web的媒体播放器和一些本地应用程序。这是一个可扩展的应用程序,可以与Chrome(Canary、Yandex、Chromium)和Safari配合使用,并且可以控制任何具有适用媒体播放器的选项卡。

最好去用户(设置 -> 用户和组)然后点击"启动项"并禁用ituneshelper。这样一来,您就不需要每次开机都杀死该进程了。

enter image description here