社区问答

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

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

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

0 投票

在UE5 里面尝试获取 当前播放的event 的position ,但是一直获取失败,返回的是AK_PlayingIDNotFound,Wwise 取消Auto Defind SoundBank之后,返回的是AK_NotInitialized

int32 UAkGameplayStatics::GetSourcePlayPosition(int32 PlayingID)
{
    AkTimeMs Position = 0;
    auto Result = AK::SoundEngine::GetSourcePlayPosition((AkPlayingID)PlayingID, &Position);
    if (Result != AKRESULT::AK_Success)
    {
       UE_LOG(LogScript, Warning, TEXT("UAkGameplayStatics::GetSourcePlayPosition: Failed"));
       return Result;
    }  
    else return (int32)Position;
}

这个是我的函数,并且我已经明确传递EnableGetSourcePlayPosition 给事件,以及初始化引擎,初始化返回success

void UWwiseSubsystem::Initialize(FSubsystemCollectionBase& Collection)
{
    Super::Initialize(Collection);
    AkMemSettings MemSettings;
    AK::MemoryMgr::GetDefaultSettings(MemSettings);
    AK::MemoryMgr::Init(&MemSettings);

    AkStreamMgrSettings StreamMgrSettings;
    AK::StreamMgr::GetDefaultSettings(StreamMgrSettings);
    AK::StreamMgr::Create(StreamMgrSettings);

    //Init Sound Engine
    AkInitSettings InitSettings;
    AkPlatformInitSettings PlatformInitSettings;
    // 配置初始化设置
    AK::SoundEngine::GetDefaultInitSettings(InitSettings);
    AK::SoundEngine::GetDefaultPlatformInitSettings(PlatformInitSettings);
    AKRESULT Result = AK::SoundEngine::Init(&InitSettings, &PlatformInitSettings);

    GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Green, FString::Printf(TEXT("Init Sound Engine : %d"), Result));
}

查了很多资料,翻了很文章,都没有说明这里的下一步是什么,怎么修复这里的Bug,所以怎么样才可以通过 Post Event 的Playing 获取当前播放的SFX的 position

分类:General Discussion | 用户: の こと (100 分)

Please sign-in or register to answer this question.

...