版本

menu_open

Background Music 与 DVR 混音示例

通过 PS4 和 Xbox One 的 DVR 功能录制受版权保护的音乐通常是不允许的。两台主机都提供了特殊的虚拟设备专门管理音乐,来避免用户录制。在 Wwise 中,这也意味着需要在单独的层级中为音乐混音。我们在 Integration Demo 工程中实现了这个功能。您可以查看 NonRecordable_Bus,以及 RecordableMusic 和 NonRecordableMusic 声音的设置。代码方面可以查看 DemoBGM.cpp。

NonRecordableMusic(不可录制音乐)被输出到 Non Recordable Bus(不可录制总线),该总线将其信号输出到 DVR_Bypass 输出中,如下所示:

图 30.5. 路由至 NonRecordable_Bus 的声音

路由至 NonRecordable_Bus 的声音

图 30.6. 总线 Audio Device 设置为 DVR_Bypass

总线 Audio Device 设置为 DVR_Bypass

在代码方面,为实现该效果所需的处理非常简单。游戏必须使用 Audio Device ShareSet 名称调用 AK::SoundEngine::AddOutput() 来初始化输出。

在 Wwise 的 Advanced Profiler 中,我们可以看到每个声音都输出至单独的总线和输出。这是 Xbox One 和 PS4 上的常见情况。(注意,中间的音乐总线被省略了。)

图 30.7. 


管理缺失的硬件输出

在 Wwise 支持的其他平台上均没有 DVR 功能,所以我们要做一些不同处理。在这种情况下,如果不希望游戏音乐缺失,您必须正确地将其输出。您仅需正确地将音频设备 Unlink(取消链接),即可解决该问题。在 Master Bus 的 Property Editor 中,也允许将 Audio Device 属性取消链接. 在下面的示例中,我们将 Non Recordable Bus 输出至普通系统输出。在 Xbox One 和 PS4 中,它仍然输出至 DVR_Bypass,因此它的链接图标有一半是橙色。这就是我们在 Integration Demo 工程中的处理方式。这种情况下,代码不需要调用 AK::SoundEngine::AddOutput 来初始化输出,因为系统输出总是在启动时初始化。

图 30.8. 音频设备被设置为系统输出

音频设备被设置为系统输出

播放这两种声音时,我们看到两个音频源信号分别通过独立的总线,但是它们最终混合在同一个系统输出中。

图 30.9. 两个 Master Bus 在设备中混合

两个 Master Bus 在设备中混合


此页面对您是否有帮助?

需要技术支持?

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

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

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

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

开始 Wwise 之旅