在 Audiokinetic 社区问答论坛上,用户可对 Wwise 和 Strata 相关问题进行提问和解答。如需从 Audiokinetic 技术支持团队获取答复,请务必使用技术支持申请单页面。

Possible to seek in ue4 integration?

0 投票
I am trying to start events at a certain point, not just from the start of the sound. Is there any way to do this from UE, potentially thru some RPTC's?

 

Also curious on how to get the length of an event from in UE4.

 
Thank you!
最新提问 1月 11, 2017 分类:General Discussion | 用户: Evan B. (160 分)

1个回答

+1 投票
 
已采纳
Hi Evan B!

So yes.... with a little bit of hacking. You have to hack it into AKComponent. If you're savvy enough to jump into the code I can try and help you out!

 

-Rob
最新回答 1月 16, 2017 用户: Robert M. (4,640 分)
采纳于 1月 17, 2017 用户:Evan B.
Hey Robert, turned out I had to delete the bin and intermediate folders in the plugin directory..then it would build. thanks for all your help!

Is there any chance I could get you to show me an example (like u did above) of how to expose SetMultiplePositions()? I have been researching for weeks and cannot get it to build properly.

Thanks so much!
Unfortunately no. :( sorry mate.
.cpp:

void UAkComponent::Seek(int32 MilliSeconds, const FString& IDNumber)
{
    AkTimeMs MilliSec = MilliSeconds;
    AkUniqueID AkIDNumber = FCString::Atoi64(*IDNumber);
    AK::SoundEngine::SeekOnEvent(AkIDNumber, (AkGameObjectID) this, MilliSec, false, (AkPlayingID)AK_INVALID_PLAYING_ID);
}


Hey Robert,

sorry to come back to this, but it seems seeking is still not supported in your UE4.16 integration. What are your plans to add this to the plugin ?


Thank you,
Oliver
Hey! I actually got version frozen on .14 unfortunately so I can't help you there :/ I haven't gotten the time to check it out sorry. This was a work around that I was able to do in the code myself. I am not a dev hehe so I can't just add it in directly to the plug in
Could you elaborate on how to get this working, i tried adding this to UAkComponent:

void UAkComponent::Seek(int32 MilliSeconds, const FString& IDNumber)
{
    AkTimeMs MilliSec = MilliSeconds;
    AkUniqueID AkIDNumber = FCString::Atoi64(*IDNumber);
    AK::SoundEngine::SeekOnEvent(AkIDNumber, (AkGameObjectID) this, MilliSec, false, (AkPlayingID)AK_INVALID_PLAYING_ID);
}

And the corresponding declaration in .h and can get the function to call from BP but nothing is happening when i for example spawn an ak event, seek and then post it, or if i spawn it, post it, then seek.

I suspect there is soemthing from with the line:
AK::SoundEngine::SeekOnEvent(AkIDNumber, (AkGameObjectID) this, MilliSec, false, (AkPlayingID)AK_INVALID_PLAYING_ID);

I added UE_LOGs at AudioDevice.cpp that has some SeekOnEvents but they never get printed.
...