社区问答

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

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

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

+1 投票

We just updated our project to "2023.1.11.8682.3392" from "2023.1.3.8471.2970" in Unreal Engine 5.3, and we encountered this error after loading our Game level, from our Main Menu level.
We have some Actors in our MainMenu level to play some ambient sounds, these actors have an UAkComponent which references a UAkAudioEvent asset, on BeginPlay, we call UAkComponent::PostAkEvent to play these sounds. We have the flag StopWhenOwnerDestroyed set to true in the UAkComponent.  s

When entering the Game Level, apparently, these sounds are correctly unloaded, but Wwise will still try to play them for some reason, spamming these errors.
Querying FAkAudioDevice::Get()->IsPlayingIDActive with the original EventId and PlayingId from the MainMenu returns true, as if the internal state is not properly cleared.
Is the internal state of FAkAudioDevice supposed to never be cleared? What can we do to debug the situation further? Thanks in advance.

Also, why does the error printed by Wwise changes depending on whether you have the Capture connected or not?
Am I right to assume that these two errors are actually the same error? That is quite confusing to me.

This is printed without the Capture
LogWwiseMonitor: Error: Selected node (452674424) not available. Make sure the structure associated to the event is loaded or that the event has been prepared Name: 27166237 GO: 2334419198752

This is printed with the Capture:
LogWwiseMonitor: Error: Media 489551405 was not loaded for this source Name: 15250706 GO: 2014176255280


Also, maybe completely unrelated, on iOS we are getting a bunch of plug-in not found errors:
 

LogWwiseMonitor: Error: Could not register plug-in: iZotope

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkSilenceGenerator

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: McDSP

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkParametricEQ

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkCompressor

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkPeakLimiter

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkFlanger

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkConvolutionReverb

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkStereoDelay

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkGain

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Could not register plug-in: AkMotion

2025-04-07 17:52:55: [  0]LogWwiseMonitor: Error: Plug-in not found: 33226759

Edit Update:

We found out the solution to the issues.
For the non stopping sounds spamming "Selected node not available" the culprit was a change introduced somewhere between these Wwise versions in UAkComponent::OnUnregister

if( !Owner || !CurrentWorld || (StopWhenOwnerDestroyed && Owner->IsActorBeingDestroyed()) || CurrentWorld->bIsTearingDown || (Owner->GetClass() == APlayerController::StaticClass() && CurrentWorld->WorldType == EWorldType::PIE))
{
    Stop();
}

Here the check Owner->IsActorBeingDestroyed was added, but in our case, due to how we are streaming our levels (additively), the UAkComponent::OnUnregister function is called when the actor is NOT being destroyed, so the sound is never stopped. In our case, we just removed this line for a quick patch, and the sounds are now properly stopped when changing levels.
In my opinion this callback shouldn't be used in this way, rather BeginDestroy should be used for a proper fix.

Plug-in not found:
For the issue about plugins not found on ios (it was completely unrelated), the issue was that our plugin header file includes were removed from the file AkiOSPlugins.h with the update for some reason.
As far as I understand, this header file should be automatically generated when compiling. Adding our plugin includes to this header file seems to have fixed the issue.

分类:General Discussion | 用户: Gabriele Dolcemascolo (110 分)
修改于 用户:Gabriele Dolcemascolo

Please sign-in or register to answer this question.

...