버전

menu_open

Python (Autobahn) - WAMP

Initializing the project

Note.gif
Note: If you are using Python 2.7, you will need to install Microsoft Visual C++ Compiler for Python 2.7.

Run the following command from any directory to install dependencies:

pip install autobahn

If you are using Python 2.7, run the following command to install additional packages:

pip install trollius futures

Project Code

Note.gif

Note: The line from waapi import WAAPI_URI imports a declaration of the API paths.

It is located in <Wwise installation path>/SDK/include/AK/WwiseAuthoringAPI/py. The location of this file was added to Python's path dynamically by extending sys.path in this sample, but you can also copy-paste the waapi.py file along-side the sample files.

Note that the additional file, ak_authobahn.py, provides a special type of component which supports custom options to be sent to WAAPI. This file is provided in the sample's directory.

Python 2.7

Locate the sample file <Wwise installation path>/SDK/samples/WwiseAuthoringAPI/python/hello-wwise-wamp/main_py2.py.

This file contains the following code, which allows you to connect to the Wwise Authoring API.

import os
import sys

import trollius as asyncio
from trollius import From

from autobahn.asyncio.wamp import ApplicationSession, ApplicationRunner

# 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


class MyComponent(ApplicationSession):
    def onJoin(self, details):
        try:
            res = yield From(self.call(WAAPI_URI.ak_wwise_core_getinfo)) # RPC call without arguments
        except Exception as ex:
            print("call error: {}".format(ex))
        else:
            # Call was successful, displaying information from the payload.
            print("Hello {} {}".format(res.kwresults['displayName'], res.kwresults['version']['displayName']))

        self.leave()

    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"realm1")
    try:
        runner.run(MyComponent)
    except Exception as e:
        print(type(e).__name__ + ": Is Wwise running and Wwise Authoring API enabled?")

Python 3.6

Locate the sample file <Wwise installation path>/SDK/samples/WwiseAuthoringAPI/python/hello-wwise-wamp/main_py3.py.

This file contains the following code, which allows you to connect to the Wwise Authoring API.

import os
import sys

import asyncio

from autobahn.asyncio.wamp import ApplicationSession, ApplicationRunner

# 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


class MyComponent(ApplicationSession):
    def onJoin(self, details):
        try:
            res = yield from self.call(WAAPI_URI.ak_wwise_core_getinfo) # RPC call without arguments
        except Exception as ex:
            print("call error: {}".format(ex))
        else:
            # Call was successful, displaying information from the payload.
            print("Hello {} {}".format(res.kwresults['displayName'], res.kwresults['version']['displayName']))

        self.leave()

    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"realm1")
    try:
        runner.run(MyComponent)
    except Exception as e:
        print(type(e).__name__ + ": Is Wwise running and Wwise Authoring API enabled?")

Running the project

Run the sample file from its directory using the following command:

Python 2.7:

python main_py2.py

Python 3.6:

python main_py3.py

If the Wwise Authoring API successfully connects to Wwise, you should see the following output:

Hello Wwise 20??.?.?

이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요