是否可以控制 iOS 系统均衡器(这样我就可以影响其他应用程序播放的音频)
Is it possible to control the iOS system equalizer (so that I can affect audio playing from other apps)
我在整理 iOS 的所有音频相关文档时遇到了一些问题。我看到我可以通过使用音频单元来控制声音 EQ,但我不清楚这是否仅用于我从我自己的应用程序播放的音频。
我想构建一个屏幕来更改从其他应用程序播放的声音的 EQ —— 本质上是 iOS 音频设置中系统 EQ 的替代品。这可能吗?我将如何做到这一点?
修改第 3 方应用程序及其内容被 iOS 中的沙盒阻止。事实上,您创建的进程不知道设备是 运行 的其他不相关进程。因此,您无法执行更改其他应用程序存储的数据或修改其他应用程序生成的音频流等操作。事实上,Settings > Music > EQ
中的 EQ 设置也遵循这一点。他们不修改任何系统级声音,而只是修改 iOS 音乐应用程序正在制作的音乐。最接近实现所需功能的方法是创建 Audio Unit Extenstion (available in iOS 9 and later), which allows you to create/modify audio streams in apps that support them, which are music apps like GarageBand. If you're only looking to support other apps that you/your organization have made, you could create an iOS App Group 并根据存储在 NSUserDefaults
中的值应用 EQ
我在整理 iOS 的所有音频相关文档时遇到了一些问题。我看到我可以通过使用音频单元来控制声音 EQ,但我不清楚这是否仅用于我从我自己的应用程序播放的音频。
我想构建一个屏幕来更改从其他应用程序播放的声音的 EQ —— 本质上是 iOS 音频设置中系统 EQ 的替代品。这可能吗?我将如何做到这一点?
修改第 3 方应用程序及其内容被 iOS 中的沙盒阻止。事实上,您创建的进程不知道设备是 运行 的其他不相关进程。因此,您无法执行更改其他应用程序存储的数据或修改其他应用程序生成的音频流等操作。事实上,Settings > Music > EQ
中的 EQ 设置也遵循这一点。他们不修改任何系统级声音,而只是修改 iOS 音乐应用程序正在制作的音乐。最接近实现所需功能的方法是创建 Audio Unit Extenstion (available in iOS 9 and later), which allows you to create/modify audio streams in apps that support them, which are music apps like GarageBand. If you're only looking to support other apps that you/your organization have made, you could create an iOS App Group 并根据存储在 NSUserDefaults