版本
menu_open
警告:此页面上某些受保护的信息未予显示。
若为特定平台的授权用户,请确保已登录相应的帐户。
Wwise SDK 2023.1.3
处理系统专用事件

几乎所有操作系统都有针对以下事件的回调或通知:

  • 按 Home 按钮
  • 将应用程序置于后台/前台
  • 启动/停止用户音乐

Wwise 不会自动处理这些事件。主要原因是某些 OS API 不支持多个回调或通知接收器。因此, Wwise SDK 需要知道这些事件,以避免“吃掉”它们而不能发送给游戏。

有关如何处理用户音乐更换的信息,请阅读 处理用户音乐(BGM)和DVR

将应用程序置于后台/前台

一般来说,所有游戏系统都可以将应用程序置于后台一段时间。Wwise 有三种可能操作,具体取决于您的选择或平台需求:

一般来说,在将应用程序转到后台并使用 Suspend(false) 时,游戏不得调用任何声音引擎 API。发布事件等操作仍有效,但会一直积累,并在系统被唤醒时全部同时播放。为了继续执行音频处理,在从系统收到正确通知时,请先调用 AK::SoundEngine::WakeupFromSuspend(),然后再调用 RenderAudio()。可以在调用 RenderAudio() 之前,让其他事件排队等候。

您应该阅读每个平台相关的制造商文档要求,以选择正确的操作。

Android

在 Android 中,处理 App Lost/Gain Focus 和 App Pause/Resume 事件非常重要。Google 的要求规定,不在前台的应用程序应使用尽可能少的 CPU(最好完全不使用)。为此,可调用 Suspend(false) 。 另请参阅 针对 Android 的 BGM 详情

iOS

Apple 要求在将应用程序转到后台时尽可能减少对 CPU 资源的使用。这将由 Wwise 自动处理。 另请参阅 针对 iOS 的 BGM 详情

macOS

macOS 并没有相关的官方规定,但最好跟其他平台保持一致:在应用程序进程处于非活跃状态时,使用 Suspend() 删减声音。具体会硬暂停(参数为 false)还是活动暂停(参数为 true),取决于游戏实现。

Linux

Linux 并没有相关的官方规定,但最好跟其他平台保持一致:在应用程序进程处于非活跃状态时,使用 Suspend() 删减声音。具体会硬暂停(参数为 false)还是活动暂停(参数为 true),取决于游戏实现。

Windows

HWND 是与音频关联的窗口的句柄。所有游戏都要指定应用程序的 HWND 以便检测设备。GetDefaultPlatformInitSettings 返回的值为声音引擎初始化时的前台 HWND,其不一定是当前游戏正好需要的值。所有游戏都要提供所要使用的正确 HWND。


此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅