Objective c 绑定到媒体密钥,阻止iTunes OS X

Objective c 绑定到媒体密钥,阻止iTunes OS X,objective-c,macos,cocoa,Objective C,Macos,Cocoa,我一直在使用这里描述的方法: 读这篇文章: 我已重写sendEvent类,并且可以检测媒体密钥输入。问题是iTunes在按下播放按钮时启动。上面提到的线程表示iTunes在其他地方(未知)钩住了事件,因此没有办法阻止它获取播放/暂停(F8)事件 作为一种解决方法,我一直让Quicktime Player保持打开状态,没有文件。然而,在Mountain Lion上,Quicktime显然在一段时间的不活动后自动关闭,从而使此解决方案不可行 我知道Spotify和MPlayerX等应用程序已经以某种

我一直在使用这里描述的方法:

读这篇文章:

我已重写sendEvent类,并且可以检测媒体密钥输入。问题是iTunes在按下播放按钮时启动。上面提到的线程表示iTunes在其他地方(未知)钩住了事件,因此没有办法阻止它获取播放/暂停(F8)事件

作为一种解决方法,我一直让Quicktime Player保持打开状态,没有文件。然而,在Mountain Lion上,Quicktime显然在一段时间的不活动后自动关闭,从而使此解决方案不可行

我知道Spotify和MPlayerX等应用程序已经以某种方式实现了这一点。他们似乎完全阻止了这一事件,而不仅仅是iTunes

通过谷歌搜索,我发现了这个discussions.apple.com/thread/2122639?start=210&tstart=0,它通过Applescript跟踪到远程控制守护进程进行调用。有一些解决方法可以删除rcd守护程序上的执行权限(需要sudo,必须在OSX更新时重新运行)。nomitsu.com/contents/MMFix_src.tgz

有人知道他们(MPlayerX、Spotify)是如何做到这一点的吗


谢谢你的建议。

我发现一个预先存在的类可以做到这一点:

哇,花了一些时间才找到!希望它能帮助别人

+1 GitHub页面:。谢谢分享:)