当前位置: 首页 > 面试题库 >

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

王昆
2023-03-14
问题内容

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

在OS X 10.11中不推荐使用AudioHardwareServiceSetPropertyData

如何更新OS X 10.11的代码?

谢谢。:)


问题答案:

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

NSSound.setSystemVolume(0.5)

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

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



 类似资料:
  • 我一直在寻找开源项目国际化的选项: > Gettext,似乎每个人都推荐,显然需要在您的系统上安装区域设置才能使用。请参阅PHP手册上的此注释,它正好反映了我的情况。这个SO问题也问了同样的问题。这不适合开源项目,因为我不能相信最终用户在他们的系统上安装了适当的区域设置。此外,这是非常非常奇怪的,你必须安装区域设置只是为了使用字符串,你已经翻译(IMO)。 Zend_Translate有时也建议支

  • 问题内容: 我已经更新到7.3,现在我对用于创建随机字符串的函数发出警告。 我试图更改该语句, 但是警告变成了错误。 如何删除警告? 问题答案: Swift 3中不推荐使用C风格的循环。您可以继续使用一段时间,但是将来肯定会消失。 您可以将循环重写为Swift的样式: 由于您根本不使用循环的主体,因此可以将其替换为:

  • 问题内容: 我正在编写一个使用android中的位置模拟可能性的应用程序。 我想实现的是模拟我的位置,而无需在开发人员选项中设置“允许模拟位置”标志。 我知道这是可能的,因为它可以与此应用一起使用: https //play.google.com/store/apps/details?id=com.lexa.fakegps&hl=zh- CN 我试过的 生成一个apk,将其移动到/ system

  • 我正在写一个应用程序,它利用了android中位置模拟的可能性。 我想要实现的是模拟我的位置,而不在开发者选项中设置“允许模拟位置”标志。 我知道这是可能的,因为是工程与此应用程序:https://play.google.com/store/apps/details?id=com.lexa.fakegps 我所尝试的: 生成一个apk,将其移动到/system/app,重新启动 ,我还尝试了使用和

  • 问题内容: 我想在应用程序委托中设置rootViewController .. 问题答案: 你可以做这样的事情。

  • 问题内容: Eclipse是否具有一项功能,可让您搜索项目以查找对不赞成使用的方法的所有调用? 问题答案: 您可以将编译器设置为针对已弃用的API的任何使用生成错误或警告(您的选择)。 首选项-> Java->编译器->错误/警告-> 已弃用和受限的API 部分。 然后,不建议使用的方法或API的每次使用都会在“问题”视图中显示为错误/警告。