调用远程程序
Wwise Authoring API 可以用来从 Wwise 插件内使用 AK::Wwise::Plugin::Host::WaapiCall()
的方法发出远程程序调用。 此方法由 Host 组件提供,可通过从 AK::Wwise::Plugin::RequestHost
继承来发送相应请求。
提供了工具类,供调用者提供内存分配的策略。AK::Wwise::Mallocator
使用来自 C 库的函数(如 malloc
、free
和 realloc
)提供默认实现。不过,也可通过定义类来实现 AK::IAkPluginMemAlloc
,以此轻松提供自定义策略。最终,封装类 AK::Wwise::SafeAllocator
被用于保证类型安全和自动内存管理。
示例:
#include <rapidjson/document.h>
m_host.WaapiCall(
"ak.wwise.core.getInfo",
NULL,
NULL, alloc, szResults, szError);
if (!szError)
{
results.Parse(szResults);
}
#include <rapidjson/document.h>
#include <rapidjson/stringbuffer.h>
#include <rapidjson/writer.h>
args.SetObject();
args.AddMember("classId", 8192003, args.GetAllocator());
args.AddMember("property", "ModDepth", args.GetAllocator());
rapidjson::StringBuffer buffer;
rapidjson::Writer<rapidjson::StringBuffer> writer(buffer);
args.Accept(writer);
m_host.WaapiCall(
"ak.wwise.core.plugin.getProperty", buffer.GetString(),
NULL, alloc, szResults, szError);
if (!szError)
{
results.Parse(szResults);
}
| 备注: 这里用到的 RapidJSON 只是出于演示目的,并不是必须的库。 |
请参阅 设计工具插件库格式 了解 Wwise plug-ins 的更多详情。