버전

menu_open
Wwise SDK 2021.1.14
C++ - WAMP

이 페이지는 Wwise Authoring API를 C++로 어떻게 사용하는지에 대한 예제를 설명합니다. 여기에는 또한 Wwise에서 사용하는 WAMP 프로토콜을 지원하는 라이브러리 코드가 포함돼있으며, 자신의 C++ 프로젝트에서 사용할 수 있습니다.

Windows에서 빌드하기

Visual Studio 솔루션은 "samples/WwiseAuthoringApi/cpp/SampleClient"에 있습니다. 여기에 접근하기 위해서는 Wwise SDK를 설치해야 합니다.

Simply open SampleClientWindows_TOOLSET.sln (where TOOLSET is vc140, vc150 or vc160) build the solution.

참고: This example requires Visual Studio 2015 (vc140), 2017 (vc150) or 2019 (vc160).

OS X에서 빌드하기

"samples/WwiseAuthoringApi/cpp/SampleClient/mac_build.sh"를 이용해 모든 대상에 대해 빌드할 수 있습니다.

예제 사용하기

이 예제는 명령줄로 실행됩니다. 아무런 매개 변수가 제시되지 않은 경우, 기본 설정으로 Wwise Authoring에 getInfo RPC 호출을 실행하고 기본 정보를 나타내게 돼있습니다.

연관된 명령줄 매개 변수를 이용해 실행할 수 있는 더 확장된 예제도 있습니다.

  • TestWampClient: AkJson 클래스를 이용해 연결 및 호출, 구독과 같은 기본 작업을 보여주는 예제.
  • TestWampClientJsonString: TestWampClient 와 거의 동일하지만 JSON에 AkJson 클래스 대신 std::string 을 사용한다는 점이 다름.
  • PerfTest: 반복적으로 동일한 호출을 하고 호출당 평균 실행 시간 및 전체 시간을 나타내는 기본적인 성능 시험.
  • TestErrors: 여러 종류의 오류를 생성하고 다루며 로그 기능의 사용법을 보여줌.
  • TestMonitoring: This example demonstrates how to monitor the current status of Wwise. Wwise가 시작할 때, 종료될 때, 프로젝트를 불러오고 닫을 때를 감지하며 특정 시간에 어느 프로젝트가 로드됐는지를 감지합니다.

C++ 클라이언트와 WAMP 라이브러리

This sample contains the AkAutobahn library, which is a modified version of the WAMP_POCO library (itself based on Autobahn|Cpp), civetweb library and the Client class. AkAutobahn 는 Wwise SDK를 통해 제공하고 있습니다. Client 클래스는 API에 간단한 인터페이스를 제공하는데, WAMP 프로토콜을 사용해 Wwise Authoring에 연결하도록 내부적으로 "session" 클래스를 이용합니다. Client 를 있는 그대로 사용하시거나 필요에 따라 변경해 사용해도 됩니다.

편의상 Client 클래스는 차단 호출을 사용합니다 (std::future::get 호출 사용). 따라서 Wwise Authoring이 결과물을 낼 때까지 호출자 스레드는 차단됩니다. 일정 시간 동안만 차단되도록 타임아웃 매개 변수를 사용할 수도 있습니다. "session" 클래스는 스레드 동기화를 위해서 std::future를 반환합니다. 즉, 필요에 따라 비동기 Client 클래스를 구현할 수도 있습니다.

Client 클래스는 콜백 내에서 호출을 지원하지 않습니다. 즉, 다시 말해 Client 가 이미 호출하고 있을 때는 Client 의 메소드를 호출하면 안 됩니다.

로그 기록하기

로그는 선택 사항이지만, 많은 경우 디버깅 작업에 큰 도움이 됩니다. 자신만의 로그 함수를 제공하도록 Logger::Get()->SetLoggerFunction(logFunction) 을 호출할 수 있습니다.


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

지원이 필요하신가요?

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

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

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

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

Wwise를 시작해 보세요