コミュニティQ&A

Audiokineticのコミュニティ主導のQ&Aフォーラムへようこそ。ここはWwiseとStrataのユーザのみなさまがお互いに協力し合う場です。弊社チームによる直接のサポートをご希望の場合はサポートチケットページをご利用ください。バグを報告するには、Audiokinetic LauncherのBug Reportオプションをご利用ください。(Q&AフォーラムではBug Reportを受け付けておりませんのでご注意ください。専用のBug Reportシステムをご利用いただくことで、バグの報告が適切な担当部門に届き、修正される可能性が高まります。)

最適な回答を迅速に得られるよう、ご質問を投稿される際は以下のヒントをご参考ください。

  • 具体的に示す:何を達成したいのか、またはどんな問題に直面しているのかを具体的に示してください。
  • 重要な詳細情報を含める:Wwiseとゲームエンジンのバージョンやご利用のOSなど詳細情報を記載してください。
  • 試したことを説明する:すでに試してみたトラブルシューティングの手順を教えてください。
  • 事実に焦点を当てる:問題の技術的な事実を記載してください。問題に焦点を当てることで、ほかのユーザのみなさまが解決策を迅速に見つけやすくなります。

0 支持

Hi!

So I guess this is partly an FYI. We are on Unreal 4.23 and recently upgraded to WWise 2019.2.7250.1621 from 2019.1.4.7065.1430.

One thing that has changed between these two versions is that FAkAudioStyle::Initialize() is now run from AkAudioModule::StartupModule().

In our case this causes a crash due to the following flow:

  • During game startup an asynchronous load of some pre-loaded game assets triggers.
  • Game asset references Ak assets, forcing a load of the Ak Module.
  • AkModule::StartupModule() runs FAkAudioStyle::Initialize() which in turns run LoadAkTexture().
  • LoadAkTexture() attempts to run an asynchronous load of the texture.
  • Unreal asserts because it does not allow nested asynchronous loads.

As far as I can see FAkAudioStyle only sets up Editor UI, so I do not se why it is run outside #if WITH_EDITOR? 

As a work around we have moved it inside the define and it seems to work as expected. 

Do you have any information on why it has been set up like this, and if there could be any issues with our workaround?

Thankful for any info,
Anders

Anders H. (110 ポイント) General Discussion
This was our solution as well. If FAkAudioStyle::Initialize() in FAkAudioModule::StartupModule() isn't wrapped by WITH_EDITOR, you will get packaging failures on shipping builds as well.

Also found this async issue if you try to load an actor with references to audio events before FAkAudioDevice::Get() is called for the first time. This happens with using the new no banks feature.
Ok, thanks for the validation and heads-up if we run in to the other issues! :)
Yeah, now we're running into the other issue as well. How did you fix that one? Force a call to FAkAudioDevice::Get() somewhere? If yes, where?

Thanks in advance!
In our case the offending actor was being created in a another plugin's constructor. That actor prompted the sound to load before FAkAudioDevice::Get() was first called. So I delayed the initialization of the actor based on UE4's actor lifecycle documentation.
Ok, thanks! I think we seem to have a more tricky situation, digging into it as we speak.

Please sign-in or register to answer this question.

...