一尘不染

使用Swift在OS X 10.11中设置OS X卷,而无需使用不赞成使用的AudioHardwareServiceSetPropertyData API

swift

我发现此代码可使用Swift设置系统音量。在操场上使用代码时,我得到了警告。

在OS X 10.11中不推荐使用AudioHardwareServiceSetPropertyData

如何更新OS X 10.11的代码?

谢谢。:)


阅读 227

收藏
2020-07-07

共1个答案

一尘不染

正如在类似的Objective-C问题的答案中所建议的,我建议使用ISSoundAdditions,您可以这样从Swift调用它:

NSSound.setSystemVolume(0.5)

如果您对它们如何完成设置系统音量感到好奇,则在ISSoundAdditions.m中的-setSystemVolume
第113行开始执行。

为了澄清对我的回答的事实质疑(显然已删除),在使用El Capitan SDK进行编译时,ISSoundAdditions中不使用已弃用的API-
AudioHardwareServiceSetPropertyData未使用。AudioObjectSetPropertyData实际上,如果使用不推荐使用的API,则应该切换到该API
AudioHardwareServiceSetPropertyData,不过正如您从我链接的ISSoundAdditions实现中可以看到的那样,这涉及到很多工作(因此,我首先链接到该实现)。

2020-07-07