绑定到媒体键,阻止iTunes OS X.

时间:2012-07-11 16:22:18

标签: objective-c macos cocoa

我一直在使用此处描述的方法:http://weblog.rogueamoeba.com/2007/09/29/

并阅读此主题:Binding to Media keys on Apple keyboards under OSX 10.5

我已经重写了sendEvent类,并且可以检测媒体键输​​入。问题是当按下“播放”按钮时iTunes会启动。上面提到的线程表明iTunes在其他地方挂钩(未知),所以没有办法阻止它获得播放/暂停(F8)事件。

作为一种解决方法,我一直打开没有文件的Quicktime Player。但是,在Mountain Lion上,Quicktime显然在一段时间不活动后自行关闭,从而使这种解决方法变得不可行。

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

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

有没有人对他们(MPlayerX,Spotify)能够做到这一点的方式有任何了解吗?

感谢您的任何建议。

1 个答案:

答案 0 :(得分:16)

我发现了一个预先存在的类,它将执行此操作:http://overooped.com/post/2593597587/mediakeys

哇,这需要一些寻找!希望它可以帮助别人!