Version

menu_open

Quick Start Sample Integration - Dynamic Dialogue

Dynamic Dialogue Example

The following code plays back a single dialogue event inside of a dynamic sequence:

#include <AK/SoundEngine/Common/AkDynamicDialogue.h>
#include <AK/SoundEngine/Common/AkDynamicSequence.h>

(...)

{
    // Open a dynamic sequence using the appropriate game object.
    
    AkPlayingID sequenceID = AK::SoundEngine::DynamicSequence::Open( GAME_OBJECT_ID_HUMAN );
    
    // Add a single dialogue event to the playlist of the dynamic sequence. 
    
    {
        // Resolve dialogue event into an audio node ID based on the specified argument path.

        const char * argPath[3] = { // Following the order of Arguments:
            "Unit_A",               // "Units"
            "RescueHostage",        // "Objectives"
            "Completed" };          // "ObjectiveStatus"
        
        AkUniqueID nodeID = 
            AK::SoundEngine::DynamicDialogue::ResolveDialogueEvent( "Objective_Status", argPath, 3 );

        // Add audio node ID to dynamic sequence playlist.
        
        AK::SoundEngine::DynamicSequence::Playlist * pPlaylist = 
            AK::SoundEngine::DynamicSequence::LockPlaylist( sequenceID );
            
        pPlaylist->Enqueue( nodeID );
        
        AK::SoundEngine::DynamicSequence::UnlockPlaylist( sequenceID );
    }
    
    // Play the dynamic sequence.

    AK::SoundEngine::DynamicSequence::Play( sequenceID );
    
    // Close the dynamic sequence. The dynamic sequence will play until finished and then
    // deallocate itself automatically. 

    AK::SoundEngine::DynamicSequence::Close( sequenceID );
}

Refer to Integration Details - Dynamic Dialogue for more information.


Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise