Community Q&A

Where Wwise users help each other out!

Audiokinetic's Community Q&A is the forum where Wwise users ask and answer questions within the Wwise community. If you would like to get an answer from Audiokinetic's Technical support team, make sure you use the Support Tickets page.

Expanding the UE4 plugin to include callbacks

0 votes

Hey, everyone.

To my surprise, the UE4 integration doesn't seem to support callbacks or play position checking in *any* way. So, following the API, I'm attempting to rewrite some of the code to allow it. Can anyone maybe tell me what I'm doing wrong? I'm performing these actions on an AkAudio Component with 30 seconds of "interactive music" playing at 120 BPM.

In AudioDevice.cpp:

AkPlayingID FAkAudioDevice::PostEvent(
    UAkAudioEvent * in_pEvent, 
    AActor * in_pActor,
    AkUInt32 in_uFlags /*= 0*/,
    AkCallbackFunc in_pfnCallback /*= NULL*/,
    void * in_pCookie /*= NULL*/,
    bool in_bStopWhenOwnerDestroyed /*= false*/
    )
{
    if (!in_pEvent)
        return AK_INVALID_PLAYING_ID;

    return PostEvent(in_pEvent->GetName(), in_pActor, AK_MusicSyncBeat, MusicCallback, in_pCookie, in_bStopWhenOwnerDestroyed);
}

void FAkAudioDevice::MusicCallback(
    AkCallbackType in_eType,            // Type of callback reason, in this case it could be AK_MusicSyncBeat
    AkCallbackInfo* in_pCallbackInfo    // Pointer to callback information structure, in this case
                                        // AkMusicSyncCallbackInfo*.
    ) 
{
    UE_LOG(LogAkAudio, Warning, TEXT("Currently in Audio Callback!"));
}

Also couldn't get GetSourcePlaybackPosition to work, even after feeding in 0x100000 in the callback flags argument.

Any ideas? Really beating my head against a wall, here. This stuff is required for *anything* requiring feedback from Wwise to display on-screen, and it's a bit disappointing it isn't available.
 

asked Jun 27, 2017 in General Discussion by Jason W. (100 points)

Please sign-in or register to answer this question.

...