Wwise SDK 2019.1.11
|
您可以通过不同的协议和 API 来访问 Wwise Authoring API:
AK::Wwise::IPluginPropertySet::WaapiCall()
来调用 WAAPI 函数。请参阅 在 Wwise 插件中使用 Wwise Authoring API 。WAMP 和 HTTP 协议可与各种语言结合使用,包括 C++、C#、JavaScript、Python 以及 HTTP 和 WebSocket 支持的其他一些语言。
备注: WAMP 是一种开放式的标准 WebSocket 子协议,它可以提供统一的应用程序路由。WAMP 支持大部分常用编程语言。如需进一步了解 WAMP,请转到 https://wamp-proto.org。 |
备注: WAMP 能提供最佳的性能和体验,因为它会为整个会话重复使用同样的 WebSocket 连接,并且能提供双向通信。 |
下表概括列出了协议支持的各项功能:
API 功能 | WAMP | HTTP POST |
AK::Wwise::IPluginPropertySet::WaapiCall() |
远程程序调用 允许针对 Wwise 设计工具远程调用函数 |
支持 | 支持 | 支持 |
发布 & 订阅 允许在 Wwise 设计工具中出现变动时接收通知。 |
支持 | Not 支持 | Not 支持 |
最佳性能 | 是 | 否 | 是 |
假如您想利用 WAMP 协议来调用 WAAPI,有多种语言可供选择。WAMP 实现库支持各种编程语言。 如需查看现有实现库列表,请登录 wamp-proto.org。
不过,有些实现库使用起来比较困难,需要具备一定的编程技能。由于 WAAPI 只会用到 WAMP 功能中的一个子集,因而为了增强 WAAPI 的易用性,我们为部分可用实现库提供了抽象层。下表列出了大部分常用语言的相关建议。
语言 |
建议 |
||
C++ (推荐) |
使用 AkAutobahn AkAutobahn 是 Autobahn C++ 的一个分支库,相对而言依赖数较少,不仅接口更简洁,性能也很高。 难度: 需要具备中级 C++ 编程技能。
|
||
C# (推荐) |
使用 WaapiClientCore 或 WaapiClientJson 您可以选择:
难度: 使用起来非常简单。只需初级 C# 编程技能。 |
||
结合使用 JavaScript/TypeScript 和 Node.js (推荐) |
使用 waapi-client JS waapi-client 是 Autobahn JS 之上提供的一个抽象层。它可以添加 promise 和 async/await 支持,并且只暴露所需 WAMP 功能。请注意,waapi-client 同时包含 TypeScript 绑定。 难度: 需要初级到中级 JavaScript 编程技能。 |
||
在 Browser 中使用 JavaScript |
使用 autobahn-browser autobahn-browser 是一个可直接在浏览器中使用的 WAMP 实现库。 难度: 需要中级 JavaScript 和 Web 编程技能。 |
||
Python 2.7 |
使用 Autobahn Python Autobahn Python 使用起来最为困难。它设置起来比较繁琐,并且需要具备 async 编程技能。有关如何设置 python 工程和依赖的说明,请参阅 hello-wwise-wamp 示例。
难度: 需要高级 Python 编程技能。 |
||
Python 3.6+ (推荐) |
使用 waapi-client Python waapi-client 是 Autobahn Python 之上提供的一个抽象层。它可以大大增强 WAPPI 的易用性,并且只会暴露所需 WAMP 功能。 难度: 使用起来非常简单。只需初级 Python 编程技能。 |
||
其他语言 |
使用 https://wamp-proto.org/ 上列出的 WAMP 实现库,或者直接结合 HTTP 使用 WAAPI。 |
请参阅 WAAPI 示例 。