观察OSX的系统更改-Swift

问题描述 投票:1回答:1

当系统容量更改时,我正在尝试执行一种方法。

我尝试使用DistributedNotificationCenter.default().addObserver(self,selector: #selector(volumeChanged(_:)),name: NSNotification.Name(rawValue: "com.apple.sound.settingsChangedNotification"),object: nil),但是没有用。

嗯,它确实有效。但是只有在“系统偏好设置”应用程序打开的情况下。

完成此任务的正确方法是什么?

Ps:请注意,它是在MacOS而非iOS上

swift macos nsnotificationcenter avaudioengine
1个回答
0
投票

[尝试了无数种方法后,我发现了一个不错的解决方法:我尝试获取物理按键事件,而不是搜索可能不存在的通知。由于媒体密钥未发送正常的CGEvent,因此提出了以下解决方案:Capture OSX media control buttons in Swift

请注意,TouchBar模拟了这样的按键事件,因此,使用此方法编写的任何应用程序也将适用于具有TouchBar的MacBook型号。

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

© www.soinside.com 2019 - 2024. All rights reserved.