版本
menu_open
目标平台:
Wwise SDK 2023.1.3
针对 iOS/tvOS/visionOS 的信息

本章包含针对 iOS/tvOS/visionOS 平台使用 Wwise SDK 的信息。

警告: tvOS and visionOS SoundBanks must use iOS for their base platform.
备注: Unless otherwise specified, the mention "iOS" in this page and its subsections is used to describe interchangeably the iOS, tvOS, and visionOS specific platform details.

SDK Binary Folder Structure for iOS Platforms

The libraries and other binaries provided in the Wwise SDK for the iOS-based platforms are built against a variety of Xcode toolchains, with different folders for each version. The folder naming convention is $(PLATFORM)_Xcode$(XCODE_VERSION_MAJOR), where $(PLATFORM) is the platform name (iOS, tvOS, visionOS) and $(XCODE_VERSION_MAJOR) is a built-in variable provided by Xcode in the following format: XX00. For example, for a tvOS build using Xcode version 15.2, $(XCODE_VERSION_MAJOR) is 1500, so the folder name is tvOS_Xcode1500.

For a given iOS-based platform, all minor versions of Xcode are compatible if the major version matches. For example, an application built against Xcode 15.2 is compatible with Wwise libraries built against Xcode 15.0 (1500). Binaries from different iOS-based platforms are not compatible.

备注: Audiokinetic does not provide precompiled libraries for every Xcode release. Starting with Xcode 14, binaries compatible with stable releases of every major Xcode version are provided. Support for previous Xcode major versions will be removed when Apple's App Store stops accepting submissions for it.

Bluetooth 卡音与匮乏

在使用 Bluetooth 扬声器和耳机时,音频会产生很大幅度的延迟。这是由系统本身的 Bluetooth 压缩和无线通信堆栈造成的。Because of this, latency-sensitive games such as rhythm games will have a degraded gameplay when the Bluetooth device is connected.

在使用 Bluetooth 设备时,为了避免卡音,Wwise 会自动切换至高延迟模式。在设备断开后,将恢复至初始化时 AkPlatformInitSettings.uNumRefillsInVoice 指定的正常延迟模式。

备注: 在结合 Bluetooth 设备使用 Play and Record 音频会话时,将强制操作系统把所有音频的采样率降至 8 kHz。这一行为与 Bluetooth 驱动程序本身有关。

iOS 音频会话

On iOS, many events such as an incoming phone or FaceTime call, usage of Siri, calendar alerts, or system sounds can prevent app audio from playing at any moment. Apple 音频会话机制负责处理音频硬件访问冲突。因此,选择合适的音频会话对应用程序来说十分重要。幸运的是,使用音频会话功能时的大多数实现细节都由 Wwise iOS SDK 处理,SDK 客户端应用程序无需费力就可以获得符合预期和标准的高效音频应用程序。以下部分描述 iOS 音频会话的概念及其相关 Wwise 实现策略。

3D audio support using Apple Spatial Audio

Wwise 3D audio is supported on iOS/tvOS/visionOS. It is implemented using Apple's Spatial Audio technology (not to be confused with Wwise Spatial Audio), and is designed for headphone output. It supports a spatialized bed, a passthrough mix, and a number of system audio objects.

Unlike other platforms supporting 3D audio, Apple platforms do not have a user preference for Spatial Audio in the operating system which applies to interactive audio applications. Therefore, the 3D audio pipeline in Wwise will always be activated as long as all the following requirements are met:

  1. The Audio Device property Allow 3D Audio is enabled in the Wwise project.
  2. The output device has two channels.
  3. AkOutputSettings::ePanningRule is set to AkPanningRule_Headphones. This is the default on iOS and visionOS, but not tvOS.

It is encouraged to allow the user to choose whether to use 3D Audio using an in-game setting, and swap between two Audio Device sharesets based on this setting.

Upon initialization, if 3D audio is activated, the main mix will be configured as 5th-order Ambisonic, unless the Main Mix Configuration for Binauralization property of the Audio Device dictates otherwise.

If the Audio Device's Allow System Audio Objects property is enabled, then the number of system audio objects supported by the sink is determined by AkPlatformInitSettings::uNumSpatialAudioPointSources.

NSPrivacyAccessedAPITypes in Privacy Manifest

Apple requires third-party applications and SDKs to provide a reason for using certain privacy-sensitive APIs in the NSPrivacyAccessedAPITypes entry in the privacy manifest (PrivacyInfo.xcprivacy).

Some Wwise libraries or source code samples use some privacy-sensitive APIs as part of their implementation. Declare these usages in your application's privacy manifest:

  • fstat: Used as part of the POSIX AkDefaultIOHookDeferred sample. This sample is not used as part of the prebuilt Wwise SDK libraries. However, it is used by the Wwise Unity integration.

For more information about the Privacy Manifest and NSPrivacyAccessedAPITypes, refer to this Apple Developer documentation page: Describing use of required reason API .

iOS 版本说明


此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅