バージョン
Wwise SDK 2023.1.3
|
ほぼすべてのオペレーティングシステムで、次のイベントに対するコールバックもしくは通知があります:
これらのイベントはWwiseによって自動的に扱われることはありません。理由は、いくつかのOS APIが複数のコールバックもしくは通知の受け取りを許さないためです。従って、ゲームではなく、Wwise SDK に対してこれらのイベントを通知する必要があります。
ユーザーミュージックの置き換えの扱い方についての詳細は、 ユーザーミュージック(BGM)やDVRの取り扱い を参照してください。
一般的に、すべてのゲームシステムは、アプリケーションを一定の時間バックグラウンドに置くことができます。Wwiseでは、設定やプラットフォームの要件によって、3つの可能な動作があります:
一般的に、アプリケーションがバックグランドに回され、 Suspend(false) が使われるときは、ゲームはサウンドエンジンのAPIを呼び出すべきではありません。イベントのポストなどは動作しますが、蓄積されてシステムが動き出した際、すべてが同時に再生されます。オーディオ処理を再開するには、AK::SoundEngine::WakeupFromSuspend() を呼び出し、システムから適切な通知を受けた際、RenderAudio() を呼び出します。RenderAudio()を呼び出す前に、他のイベントがキューを作るかもしれません。
正しい動作を選択するには、製造会社の説明書にある各プラットフォームの要件を参照してください。
Androidでは、App Lost/Gain FocusイベントやApp Pause/Resumeイベントを処理することが重要です。Googleの要件では、フォアグラウンドにないアプリは、できるだけ最小限のCPUを使用するべきとしています (できればCPUの使用なし)。これは、 Suspend(false) を呼び出すことで達成できます。 AndroidでのBGM設定詳細 もご参照してください。
Appleは、アプリケーションがバックグラウンドにある場合には、できるだけ最小限のCPU使用によう求めています。Wwiseは、自動的にこのような処理を行います。 iOSでのBGM設定詳細 もご参照してください。
macOS用の公式ガイドラインはありませんが、アプリケーション処理がアクティブでない場合は Suspend() でサウンドをカットするのが、ほかのプラットフォームと一致します。ハード的停止 (false パラメータ) もしくは能動的な停止 (true パラメータ) のどちらを利用するかは、ゲームの実装に依存します。
Linux用の公式ガイドラインはありませんが、アプリケーションがアクティブでない場合は、 Suspend() でサウンドをカットするのが、ほかのプラットフォームと一致します。ハード的停止 (false パラメータ) もしくは能動的な停止 (true パラメータ) のどちらを利用するかは、ゲームの実装に依存します。
も参照してください
HWND is the handle of the window associated with the audio. どのゲームでもデバイス検知目的のために、アプリケーションのHWNDを指定する必要があります。The value returned by GetDefaultPlatformInitSettings is the foreground HWND at the moment of the initialization of the sound engine and might not be the correct one for your game. Each game must provide the correct HWND to use.
も参照してください。
も参照してください