我发现此代码使用Swift设置系统卷.在操场上使用代码时,我收到了警告.
在OS X 10.11中不推荐使用AudioHardwareServiceSetPropertyData
如何更新OS X 10.11的代码?
谢谢.:)
小智 8
我还不能发表评论,因此我将其作为单独的答案发布。我已将出色的 ISSoundAdditions 更新为真正的 Swift 5,并为其提供了一个不错的公共接口,通过该接口,您可以通过获取和设置 NSSound\xe2\x80\x93 示例的类属性来管理系统音量:
\n\nNSSound.systemVolume += 0.2\nNSSound.systemVolumeIsMuted = true\nRun Code Online (Sandbox Code Playgroud)\n\n作为一个小好处,您可以将系统音量静音并平滑淡出(并且在后台无阻塞):
\n\nNSSound.systemVolumeFadeToMute(seconds: 5.0, blocking: false)\nRun Code Online (Sandbox Code Playgroud)\n\n查看:GitHub NSSound_SystemVolumeExtension
\n如还建议这个答案了类似的Objective-C的问题,我建议使用ISSoundAdditions,你可以从斯威夫特称这样:
NSSound.setSystemVolume(0.5)
Run Code Online (Sandbox Code Playgroud)
如果您对如何完成设置系统音量感到好奇,则在ISSoundAdditions.m的-setSystemVolume 第113行开始执行.
为了澄清对我的答案的事实挑战评论(显然已删除),在使用El Capitan SDK编译时,ISSoundAdditions中没有使用已弃用的API - AudioHardwareServiceSetPropertyData未使用.AudioObjectSetPropertyData确实如果使用不推荐使用的API应该切换到的API AudioHardwareServiceSetPropertyData,尽管从我链接的ISSoundAdditions实现中可以看出,涉及到一些工作(因此我首先链接到实现).