menu
版本
2017.1.9.6501
2024.1.5.8803
2023.1.13.8732
2022.1.19.8584
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
2024.1.5.8803
2023.1.13.8732
2022.1.19.8584
2021.1.14.8108
2019.2.15.7667
2019.1.11.7296
2018.1.11.6987
2017.2.10.6745
2017.1.9.6501
2016.2.6.6153
2015.1.9.5624
Wwise Authoring API 可以用来从 Wwise 插件内使用 AK::Wwise::IAudioPlugin::WaapiCall()
的方法发出远程程序调用。
info
|
Note: 对 AK::Wwise::IAudioPlugin::WaapiCall() 方法的调用总是阻塞的。 |
提供了工具类,供调用者提供内存分配的策略。AK::Wwise::Mallocator
使用 malloc
和 free
提供默认的实现,但提供自定义实现也很方便,方法是定义类来实现 AK::IAkPluginMemAlloc
接口。最终,封装类 AK::Wwise::SafeAllocator
被用于保证类型安全和自动内存管理。
示例:
#include <AK/Tools/Common/AkAllocator.h> #include <rapidjson/document.h> // 为结果和错误使用默认分配策略 AK::Wwise::Mallocator alloc; AK::Wwise::SafeAllocator<char> szResults(&alloc); AK::Wwise::SafeAllocator<char> szError(&alloc); // 对 Wwise Authoring API 发出远程程序调用 m_pPSet->WaapiCall("ak.wwise.core.getInfo", NULL, NULL, &alloc, szResults, szError); if (!szError) { // 解析结果 JSON 字符串 rapidjson::Document results; results.Parse(szResults); // ... }
#include <AK/Tools/Common/AkAllocator.h> #include <rapidjson/document.h> #include <rapidjson/stringbuffer.h> #include <rapidjson/writer.h> // 为结果和错误使用默认分配策略 AK::Wwise::Mallocator alloc; AK::Wwise::SafeAllocator<char> szResults(&alloc); AK::Wwise::SafeAllocator<char> szError(&alloc); // 建立一个包含该程序参数的 JSON 对象 rapidjson::Document args; args.SetObject(); args.AddMember("classId", 8192003, args.GetAllocator()); args.AddMember("property", "ModDepth", args.GetAllocator()); // 对 JSON 对象进行字符串化 rapidjson::StringBuffer buffer; rapidjson::Writer<rapidjson::StringBuffer> writer(buffer); args.Accept(writer); // 对 Wwise Authoring API 发出远程程序调用 m_pPSet->WaapiCall("ak.wwise.core.plugin.getProperty", buffer.GetString(), NULL, &alloc, szResults, szError); if (!szError) { // 解析结果 JSON 字符串 rapidjson::Document results; results.Parse(szResults); // ... }
info
|
Note: 这里用到的 RapidJSON 只是出于演示目的,并不是必须的库。可以用您自己选择的库来修改 JSON. |
请参阅 如何创建 Wwise 插件 DLL 了解 Wwise plug-ins 的更多详情。