有没有办法让我的应用程序响应Mac上的播放/暂停按钮?
编辑:
使用建议的代码,我收到此控制台消息:
无法将操作buttonPressed:连接到NSApplication类的目标
那为什么会这样?
我一直在使用swift中的Cocoa OSX项目,需要使用键盘输入来执行操作.在keydown上我想在窗口上移动一个对象,但是一旦关键松开就停止对象.我查看了AppKit的文档并找到了KeyDown函数,但我似乎无法弄清楚如何使用它.我想在我的游戏更新计时器中创建一个函数来调用它.谢谢
import Cocoa
import Appkit
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
@IBOutlet weak var window: NSWindow!
func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application
func keyDown(theEvent: NSEvent) {
if (theEvent.keyCode == 1){
println("test")
}
}
}
func applicationWillTerminate(aNotification: NSNotification) {
// Insert code here to tear down your application
}
Run Code Online (Sandbox Code Playgroud)
}
研究,问题,中年危机
这里和那里有一些关于捕捉播放/暂停事件的问题.该解决方案通常依赖于扩展NSApplication并捕获sendEvent.但是,有两个问题:iTunes打开或某些应用程序之前捕获它(Spotify我在看着你).
该死的你发现了
更多人对使用播放/暂停的iTunes打开感到厌倦,并发布在stackoverflow中.然而,解决方案仍然被spotify击败(并且它依赖于奇怪的白名单).如果我打开示例并按下其中一个mediakeys,则会捕获事件而该解决方案不会.
我如何击败 Spotify并捕获媒体事件?