我一直在使用这里描述的方法: http://weblog.rogueamoeba.com/2007/09/29/
并阅读这个帖子: 绑定到OSX 10.5下Apple键盘上的媒体键
我已经重写了sendEvent类,并且可以检测媒体键输入。问题是当按下“播放”按钮时iTunes会启动。上面提到的线程表明iTunes挂钩到其他地方(未知)的事件,因此没有办法阻止它获得播放/暂停(F8)事件。
作为一种解决方法,我一直打开没有文件的Quicktime Player。然而,在Mountain Lion上,Quicktime显然在一段时间不活动后自行关闭,从而使这种解决方法变得不可行。
我知道Spotify和MPlayerX等应用程序已经能够以某种方式实现这一目标。他们似乎完全阻止了这个事件,而不仅仅是iTunes。
更多谷歌搜索,我发现这个discussion.apple.com/thread/2122639?start=210&tstart=0跟踪它到远程控制守护进程通过Applescript进行调用。有一些解决方法可以删除rcd守护程序的执行权限(需要sudo,必须在OSX更新时重新运行)。 nomitsu.com/contents/MMFix_src.tgz
有没有人能够了解他们(MPlayerX,Spotify)如何能够做到这一点是一种不那么黑客的方式?
谢谢你的建议。