|
Wwise SDK 2024.1.9
|
您可以通过不同的协议和 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 implementations are available in the most popular programming languages. 如需进一步了解 WAMP,请转到 https://wamp-proto.org。 |
![]() | 备注: WAMP provides the best performance and experience because it reuses the same WebSocket connection for the whole session and provides bidirectional communications. |
下表概括列出了协议支持的各项功能:
| 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 之上提供的一个抽象层。It adds promises and async/await support, and only expose the required WAMP functionality. 请注意,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 示例 。