menu
版本
2017.2.10.6745
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
2024.1.4.8780
2023.1.12.8706
2022.1.18.8567
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
对于 Android 平台,当检查 Unity 选项 Player Settings > Publishing Settings > Split Application Binary 时,APK Expansion Files 用于封装工程素材。这样就有效地创建了一个有 .obb 扩展的 zip 文件,它包含 StreamingAssets 文件夹,里面包含 SoundBank。默认的 Android SoundBank 加载支持假定了 SoundBank 位于 APK 文件或 OBB 文件中。
如果您正在外部构造自己的 OBB 文件,请注意,给 AkSoundEngine.SetBasePath 的内部路径必须和 OBB 中的相同。OBB 文件必须是未压缩和未加密的,这样默认的 I/O 系统才能正常工作。如果不满足上述条件,则需要在持久数据路径中解压 OBB。用于解压缩的 CPU 成本太高,所以无法实时解压缩。
或者,可以使用内存内(in-memory)加载 bank。在 AkMemBankLoader.cs 中提供了一个示例。此脚本尝试在场景开始时加载指定的 SoundBank,并在场景被销毁时将其卸载。要使用这个示例,需要进行以下更改:
Is
Localized
Bank
选项。它将使用在 AkInitializer.cs
中定义的全局语言。两个方法 AkMemBankLoader.LoadNonLocalizedBank()
和 AkMemBankLoader。对于非本地化和本地化的
SoundBank,也可以直接在代码中调用 LoadLocalizedBank()。