我一直在使用这里描述的方法:http ://weblog.rogueamoeba.com/2007/09/29/
并阅读此线程:Binding to Media keys on Apple keyboards under OSX 10.5
我已经覆盖了 sendEvent 类,并且可以检测媒体键输入。问题是当按下播放按钮时 iTunes 会启动。上面提到的线程指出 iTunes 在其他地方(未知)挂钩到事件,因此没有办法阻止它获取 Play/Pause(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)是如何做到这一点的?
感谢您的任何建议。