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

Can the timestamp of a music segment be exposed to programmers in Unreal Engine?

0 votes

I am trying to convince my team to use wwise for a future project. They asked if they could get the time of a currently playing song from wwise. Is this possible? How?

 

I found this in the documentation but he pointed out the optimized/release configuration returning 0:

Get the time stamp shown in the capture log along with monitoring messages.

Returns

Time stamp in milliseconds. In optimized/release configuration, this function returns 0.

AkTimeMs __cdecl AK::Monitor::GetTimeStamp( ) 
asked Jul 9, 2020 in General Discussion by Buck (110 points)

1 Answer

0 votes

Hi Buck,
As I know,Wwise provides an IntegrationDemo with rich example code in the SDK.
It seems that the feature you want to know about happens to have a page dedicated to it.
I've taken one of the codes and put it below.

The main API for your goal is AK::SoundEngine::GetSourcePlayPosition( m_iPlayingID, &uPosition );
You can run the already compiled IntegrationDemo in the SDK and look at the code to see how to implement it.
Code Address... \Wwise2019.2.6.7381\SDK\samples\IntegrationDemo\DemoPages\...

void DemoMusicCallbacks::Draw()

{

    DemoMusicCallbacksBase::Draw();

 

    if ( m_bIsPlaying )

    {

        char strBuf[50];

        int iPosX = m_pParentMenu->GetWidth() / 4;

        int iPosY = m_pParentMenu->GetHeight() / 3;

 

        AkTimeMs uPosition;

 

        // Get the current play position and store it in a string buffer

        AK::SoundEngine::GetSourcePlayPosition( m_iPlayingID, &uPosition );

        snprintf( strBuf, 50"Bar: %d\nBeat: %d\nPosition=%d", (int)m_uiBarCount, (int)m_uiBeatCount, (int)uPosition );

 

        // Draw the play position and subtitles

        DrawTextOnScreen( strBuf, iPosX, iPosY, DrawStyle_Text );

    }

}

It was written in C++ so there should be not many difference,

Hope this helps :)

answered Oct 21, 2020 by Hou Chenzhong (Audiokinetic) (5,990 points)
...