Wwise SDK 2023.1.6
|
您可以通过不同的协议和 API 来访问 Wwise Authoring API:
AK::Wwise::Plugin::Host::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::Plugin::Host::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 LTS (推荐) | 使用 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 3.7+ (推荐) | 使用 waapi-client Python waapi-client 是 Autobahn Python 之上提供的一个抽象层。它可以大大增强 WAPPI 的易用性,并且只会暴露所需 WAMP 功能。 难度: 使用起来非常简单。只需初级 Python 编程技能。 | ||
其他语言 | 使用 https://wamp-proto.org/ 上列出的 WAMP 实现库,或者直接结合 HTTP 使用 WAAPI。 |
请参阅 WAAPI 示例 。