版本

menu_open

快速入门示例集成——动态对白

动态对白示例

以下代码播放动态序列(Dynamic Sequence)中的一个对白事件:

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

(...)

{
    // 使用适合的游戏对象打开动态序列。
    
    AkPlayingID sequenceID = AK::SoundEngine::DynamicSequence::Open( GAME_OBJECT_ID_HUMAN );
    
    // 将单个对白事件添加到动态序列的播放列表中。
    
    {
        // 根据指定的变量路径将对白事件解析到音频节点 ID 中。

        const char * argPath[3] = { // 按照变量的顺序:
            "Unit_A",               // "单元"
            "RescueHostage",        // "对象"
            "Completed" };          // "对象状态"
        
        AkUniqueID nodeID = 
            AK::SoundEngine::DynamicDialogue::ResolveDialogueEvent( "Objective_Status", argPath, 3 );

        // 将音频节点 ID 添加到动态序列播放列表中。
        
        AK::SoundEngine::DynamicSequence::Playlist * pPlaylist = 
            AK::SoundEngine::DynamicSequence::LockPlaylist( sequenceID );
            
        pPlaylist->Enqueue( nodeID );
        
        AK::SoundEngine::DynamicSequence::UnlockPlaylist( sequenceID );
    }
    
    // 播放动态序列。

    AK::SoundEngine::DynamicSequence::Play( sequenceID );
    
    // 关闭动态序列。动态序列一直播放到结束,然后
    // 自动取消内存分配。 

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

请参阅 集成详情——动态对白 了解更多信息。


此页面对您是否有帮助?

需要技术支持?

仍有疑问?或者问题?需要更多信息?欢迎联系我们,我们可以提供帮助!

查看我们的“技术支持”页面

介绍一下自己的项目。我们会竭力为您提供帮助。

来注册自己的项目,我们帮您快速入门,不带任何附加条件!

开始 Wwise 之旅