社区问答

欢迎来到 Audiokinetic 社区问答论坛。在此,Wwise 和 Strata 用户可互帮互助。如需我们团队直接提供协助,请前往技术支持申请单页面。若要报告问题,请在 Audiokinetic Launcher 中选择“报告错误”选项(注意,问答论坛并不会接收错误报告)。我们内部设有专门的错误报告系统,会有专人查看报告并设法解决问题。

要想尽快得到满意的解答,请在提问时注意以下几点:

  • 描述尽量具体:比如,想达到什么样的目的,或者具体哪里有问题。
  • 包含关键细节:比如,Wwise 和游戏引擎版本以及所用操作系统等等。
  • 阐明所做努力:阐明自己为了排除故障都采取了哪些措施。
  • 聚焦问题本身:聚焦于问题本身的相关技术细节,以便别人可以快速找到解决方案。

0 投票

I'm trying to write an audio core using Wwise which can emit sounds to specific audio devices on a windows System but can't find a simple way to set this in the UE4 integration. Is there an intended way to change the hardware audio device output of an event in the UE4 implementation?

In Wwise authoring, this is simple: you can go to Audio / Audio Preferences and set hardware devices for master buses. Assigning different events to those buses has them output from the desired audio device. However, when loaded and played in UE4, all events go to the system default audio device regardless of their bus. 

The SDK provides very straightforward ways of doing this (here's a guide:  https://www.audiokinetic.com/fr/library/edge/?source=SDK&id=integrating_secondary_outputs.html) using AddOutput ( https://www.audiokinetic.com/fr/library/edge/?source=SDK&id=namespace_a_k_1_1_sound_engine_a0ebeb52530b9871d9b66b5fa3bce192f.html ).

Unfortunately, despite UE4's implementation fully including the SDK and all of the .h / .cpp files, any direct calls to Ak :: SoundEngine crashes the engine. They warn here that the only script that can make those calls is AkAudio:  https://www.audiokinetic.com/fr/library/edge/?source=UE4&id=using_cpp.html .

There has to be some way in the UE4 implementation to do this, otherwise it really should be added as soon as possible. Without it I see two options for Unreal C ++ projects that require this:

- Extend the AkAudio script to work with UE4's objects and find a way to properly use AddOutput on their Listener equivalent. 

- Bypass the Implementation entirely, as if the project were a custom C ++ that can use the SDK. This has all sorts of issues with conflicting dependencies (mostly due to <windows.h> and <winnt.h>). Not to mention, that's complete overkill for something that can be done in a couple clicks and a drop-down inside of Wwise authoring. 

If extending AkAudio is the only way, some tips on how exactly to go about this would be great. I'm having trouble working out exactly how Wwise SDK Listeners are treated in the engine and where AddOutput could fit in.

分类:General Discussion | 用户: Angel Rodriguez Lozada (100 分)

1个回答

0 投票

I've created an article about implementing secondary outputs in Unreal. I think, it could help! 

https://zen.yandex.ru/media/id/5ea844c950c3275eb74e4a75/implementing-two-audio-devices-to-your-ue-game-using-wwise-5ea844f6007c871a159049a5

用户: Ed K. (300 分)
...