观察系统音量变化 OSX - Swift
Observing System Volume Changes OSX - Swift
我正在尝试在系统音量变化时执行一个方法。
我试过使用
DistributedNotificationCenter.default().addObserver(self,selector: #selector(volumeChanged(_:)),name: NSNotification.Name(rawValue: "com.apple.sound.settingsChangedNotification"),object: nil)
但是没用。
好吧,它确实有效。但前提是“系统偏好设置”应用程序已打开。
完成这项任务的正确方法是什么?
Ps:注意它是在 MacOS 上,而不是 iOS
在尝试了无数种方法后,我找到了一个很好的解决方法:我没有搜索可能不存在的通知,而是尝试获取物理按键事件。
由于媒体密钥没有发送正常的 CGEvent,我想出了这个解决方案:
请注意,TouchBar 会模拟此类按键事件,因此您使用此方法编写的任何应用程序也适用于具有 TouchBar 的 MacBook 机型。
这可能不是理想的解决方案,但它确实有效。如果有人知道更好的方法请告诉我。
我正在尝试在系统音量变化时执行一个方法。
我试过使用
DistributedNotificationCenter.default().addObserver(self,selector: #selector(volumeChanged(_:)),name: NSNotification.Name(rawValue: "com.apple.sound.settingsChangedNotification"),object: nil)
但是没用。
好吧,它确实有效。但前提是“系统偏好设置”应用程序已打开。
完成这项任务的正确方法是什么?
Ps:注意它是在 MacOS 上,而不是 iOS
在尝试了无数种方法后,我找到了一个很好的解决方法:我没有搜索可能不存在的通知,而是尝试获取物理按键事件。
由于媒体密钥没有发送正常的 CGEvent,我想出了这个解决方案:
请注意,TouchBar 会模拟此类按键事件,因此您使用此方法编写的任何应用程序也适用于具有 TouchBar 的 MacBook 机型。
这可能不是理想的解决方案,但它确实有效。如果有人知道更好的方法请告诉我。