Wwise SDK 2021.1.14
|
このページでは、C ++でWwise Authoring APIを使用する方法の例を説明します。また、自身のC ++プロジェクトで使用できる、Wwiseで使用されるWAMPプロトコルをサポートするライブラリコードも含まれています。
Visual Studioソリューションは、"samples/WwiseAuthoringApi/cpp/SampleClient" にあります。Wwise SDKをインストールしてアクセスする必要があります。
単純に、SampleClientWindows_TOOLSET.sln ( TOOLSETは、vc140、またはvc150、またはvc160)を開き、ソリューションをビルドします。
注釈: この例では、Visual Studio 2015 (vc140)、または2017 (vc150)、または2019 (vc160)が必要です。 |
どのターゲットも、"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がプロジェクトを開始、終了、ロード、または閉じるのを検知し、任意の時点でロードされているプロジェクトが何かを検知します。このサンプルに含まれる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)
を呼び出して、独自のログ機能を提供することができます。