【发布时间】:2012-07-11 07:56:44
【问题描述】:
我一直在使用这里描述的方法: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。
更多谷歌搜索,我发现了这个 Discussions.apple.com/thread/2122639?start=210&tstart=0,它跟踪到远程控制守护程序通过 Applescript 进行调用。有一些解决方法可以删除 rcd 守护程序的执行权限(需要 sudo,必须在 OSX 更新时重新运行)。 nomitsu.com/contents/MMFix_src.tgz
有没有人知道他们(MPlayerX、Spotify)是如何做到这一点的?
感谢您的建议。
【问题讨论】:
标签: objective-c macos cocoa