![]() |
Note: 如果您使用的是 Python 2.7,那么您需要安装 Python 2.7 的 Microsoft Visual C++ Compiler。 |
从任意目录运行以下命令来安装依赖:
pip install autobahn
如果您使用的是 Python 2.7,请运行以下命令来安装额外的包:
pip install trollius futures
![]() |
Note: 命令行 它位于 请注意 |
找到示例文件 <Wwise 安装路径>/SDK/samples/WwiseAuthoringAPI/python/wwise-pubsub-wamp/get_ancestors_py2.py
的位置。
该文件包含以下代码,让您能连接到 Wwise Authoring API。
import sys import os import trollius as asyncio from trollius import From from autobahn.asyncio.wamp import ApplicationRunner from ak_autobahn import AkComponent # You may also copy-paste the waapi.py file alongside this sample sys.path.append(os.path.join(os.path.dirname(__file__), '../../../../include/AK/WwiseAuthoringAPI/py')) from waapi import WAAPI_URI done = False class MyComponent(AkComponent): def onJoin(self, details): def on_object_created(**kwargs): result = kwargs[u"object"] print("The object was created in the category: {}".format(result[u"category"])) arguments = { "from": {"id": [result.get("id")]}, "transform": [{"select": ["ancestors"]}], "options": { "return": ["name"] } } res = yield From(self.call(WAAPI_URI.ak_wwise_core_object_get, **arguments)) ancestors = res.kwresults[u"return"] print(u"Ancestor of {}:".format(result[u"id"])) for ancestor in ancestors: print("\t{}".format(ancestor[u"name"])) global done if not done: self.leave() # Disconnect done = True subscribe_args = { "options": { "return": ["id", "name", "category"] } } # Subscribe to ak.wwise.core.object.created # Calls on_object_created whenever the event is received yield From(self.subscribe(on_object_created, WAAPI_URI.ak_wwise_core_object_created, **subscribe_args)) print("Create an object in the Project Explorer") def onDisconnect(self): print("The client was disconnected.") asyncio.get_event_loop().stop() if __name__ == '__main__': runner = ApplicationRunner(url=u"ws://127.0.0.1:8080/waapi", realm=u"get_ancestors_demo") try: runner.run(MyComponent) except Exception as e: print(type(e).__name__ + ": Is Wwise running and Wwise Authoring API enabled?")
找到示例文件 <Wwise 安装路径>/SDK/samples/WwiseAuthoringAPI/python/wwise-pubsub-wamp/get_ancestors_py3.py
的位置。
该文件包含以下代码,让您能连接到 Wwise Authoring API。
import asyncio import sys import os from autobahn.asyncio.wamp import ApplicationRunner from ak_autobahn import AkComponent # You may also copy-paste the waapi.py file alongside this sample sys.path.append(os.path.join(os.path.dirname(__file__), '../../../../include/AK/WwiseAuthoringAPI/py')) from waapi import WAAPI_URI done = False class MyComponent(AkComponent): def onJoin(self, details): def on_object_created(**kwargs): result = kwargs[u"object"] print("The object was created in the category: {}".format(result[u"category"])) arguments = { "from": {"id": [result.get("id")]}, "transform": [{"select": ["ancestors"]}], "options": { "return": ["name"] } } res = yield from self.call(WAAPI_URI.ak_wwise_core_object_get, **arguments) ancestors = res.kwresults[u"return"] print(u"Ancestor of {}:".format(result[u"id"])) for ancestor in ancestors: print("\t{}".format(ancestor[u"name"])) global done if not done: self.leave() # Disconnect done = True subscribe_args = { "options": { "return": ["id", "name", "category"] } } # Subscribe to ak.wwise.core.object.created # Calls on_object_created whenever the event is received yield from self.subscribe(on_object_created, WAAPI_URI.ak_wwise_core_object_created, **subscribe_args) print("Create an object in the Project Explorer") def onDisconnect(self): print("The client was disconnected.") asyncio.get_event_loop().stop() if __name__ == '__main__': runner = ApplicationRunner(url=u"ws://127.0.0.1:8080/waapi", realm=u"get_ancestors_demo") try: runner.run(MyComponent) except Exception as e: print(type(e).__name__ + ": Is Wwise running and Wwise Authoring API enabled?")
使用以下命令从示例文件的目录中运行该示例文件:
Python 2.7:
python get_ancestors_py2.py
Python 3.6:
python get_ancestors_py3.py
在 Project Explorer 中创建对象,它的祖辈列表就会显示出来。 示例会在返回各祖辈对象后终止连接。