观察系统音量变化 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 机型。

这可能不是理想的解决方案,但它确实有效。如果有人知道更好的方法请告诉我。