バージョン

menu_open
Wwise SDK 2021.1.14
C++ - WAMP

このページでは、C ++でWwise Authoring APIを使用する方法の例を説明します。また、自身のC ++プロジェクトで使用できる、Wwiseで使用されるWAMPプロトコルをサポートするライブラリコードも含まれています。

Windowsでのビルド

Visual Studioソリューションは、"samples/WwiseAuthoringApi/cpp/SampleClient" にあります。Wwise SDKをインストールしてアクセスする必要があります。

単純に、SampleClientWindows_TOOLSET.sln ( TOOLSETは、vc140、またはvc150、またはvc160)を開き、ソリューションをビルドします。

注釈: この例では、Visual Studio 2015 (vc140)、または2017 (vc150)、または2019 (vc160)が必要です。

Mac OS X でのビルド

どのターゲットも、"samples/WwiseAuthoringApi/cpp/SampleClient/mac_build.sh"でビルドできます。

サンプルの使用

このサンプルはコマンドラインで実行されます。デフォルトでは、パラメーターが指定されていない場合、Wwise Authoring へのgetInfo RPC呼び出しが実行され、基本情報が表示されます。

さらに拡張された例もあり、それらを実行するには関連するコマンドラインパラメータを使います:

  • TestWampClient: connect、call、subscribeなどの基本操作を、 AkJson クラスを使いデモする例。
  • TestWampClientJsonString: TestWampClient とほぼ同じで、JSONに AkJson クラスでなく std::string を使用。
  • PerfTest: 基本的なパフォーマンステストとして、同じコールを繰り返し行い、各コールの平均実行時間や、合計時間を表示。
  • TestErrors: 様々な種類のエラーを生成し、それに対応し、ログ機能の使い方を示します。
  • TestMonitoring: Wwiseの現在のステータスをモニタリングする方法をデモする例。Wwiseがプロジェクトを開始、終了、ロード、または閉じるのを検知し、任意の時点でロードされているプロジェクトが何かを検知します。

C++クライアントとWAMPライブラリ

このサンプルに含まれるAkAutobahnライブラリは、WAMP_POCOライブラリ(これ自体がAutobahn|Cppに基づく)、civetwebライブラリ、そして Client クラスを編集したバージョンです。AkAutobahnは、Wwise SDKの一部として提供されています。クラス Client は、APIにシンプルなインターフェイスを提供します。内部的に "セッション"クラスを使用して、WAMPプロトコルでWwise Authoringに接続します。 Client をそのまま使用するか、必要に応じて変更してください。

便宜上、Clientクラスは(std::future::get を呼び出すことによって)ブロッキング呼び出しを使用します。したがって、Wwise Authoring が結果を提供するまで、呼び出し元のスレッドはブロックされます。タイムアウトパラメータがあり、特定の時間だけブロックすることができます。"session"クラスはスレッド同期のためのstd::futureを返します。つまり、あなたのニーズに合わせて独自の非同期バージョンの Client クラスを実装することができます。

Client クラスは、コールバック内からのコールに対応していません。つまり、 Client がこちらに対してコールしているときに、 Client のメソッドをコールしてはいけません。

ロギング

ロギングはオプションですが、しばしばプロセスのデバッグに役立ちます。Logger::Get()->SetLoggerFunction(logFunction) を呼び出して、独自のログ機能を提供することができます。


このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう