バージョン

menu_open
警告:このページでは、一部の保護された情報が表示されません。
あなたが特定プラットフォームのライセンスを所有しているユーザであれば、最初にログインしてください。

システム特有のイベントの処理

ほぼすべてのオペレーティングシステムで、次のイベントに対するコールバックもしくは通知があります:

  • ホームボタンを押す
  • アプリケーションをバックグラウンド/フォアグラウンドに置く
  • ユーザミュージックの開始と停止

これらのイベントはWwiseによって自動的に扱われることはありません。理由は、いくつかのOS APIが複数のコールバックもしくは通知の受け取りを許さないためです。従って、ゲームではなく、Wwise SDK に対してこれらのイベントを通知する必要があります。

ユーザーミュージックの置き換えの扱い方についての詳細は、 ユーザーミュージック (BGM) の を参照してください。

バックグラウンド/フォアグラウンドのアプリケーション

一般的に、すべてのゲームシステムは、アプリケーションを一定の時間バックグラウンドに置くことができます。Wwiseでは、設定やプラットフォームの要件によって、3つの可能な動作があります:

  • すべてのオーディオレンダリングを停止する: AK::SoundEngine::Suspend(false) を呼び出します。
  • 一部を停止する (イベントの処理は継続するが、オーディオをレンダリングをしない): AK::SoundEngine::Suspend(true) を呼び出します。ゲームが実行中で、サウンドエンジンに呼び出しを送っている場合、この方法は有用です。
  • オーディオを再生し続ける: 何もする必要はありません。

一般的に、アプリケーションがバックグラウンドにあって Suspend(false) が使用された場合、ゲームはサウンドエンジン APIのいずれの呼び出しもしてはなりません。イベントのポストなどは動作しますが、蓄積されてシステムが動き出した際、すべてが同時に再生されます。オーディオ処理を再開するには、AKSoundEngine::WakeupFromSuspend() を呼び出し、システムから適切な通知を受けた際、RenderAudio() を呼び出します。RenderAudio()を呼び出す前に、他のイベントがキューを作るかもしれません。

正しい動作を選択するには、製造会社の説明書にある各プラットフォームの要件を参照してください。

Android™

Androidでは、App Lost/Gain Focus ならびに App Pause/Resume イベントの処理が重要です。Googleの要件では、フォアグラウンドにないアプリは、できるだけ最小限のCPUを使用するべきとしています (できればCPUの使用なし)。これは、 Suspend(false) メソッドの呼び出しにより実行可能です。 AndroidでのBGM設定詳細もご参照してください。

iOS

Appleは、アプリケーションがバックグラウンドにある場合には、できるだけ最小限のCPU使用によう求めています。Wwiseは、自動的にこのような処理を行います。 iOSでのBGM設定詳細 もご参照してください。

Mac OS X

Macでは公式なガイドラインはありませんが、アプリケーションの処理がアクティブでない場合、他のプラットフォームに合わせて、Suspend() でサウンドをカットします。ハード的停止 (false パラメータ) もしくは能動的な停止 (true パラメータ) のどちらを利用するかは、ゲームの実装に依存します。

Linux

Linuxでは公式なガイドラインはありませんが、アプリケーションの処理がアクティブでない場合、他のプラットフォームに合わせて、Suspend() でサウンドをカットします。ハード的停止 (false パラメータ) もしくは能動的な停止 (true パラメータ) のどちらを利用するかは、ゲームの実装に依存します。

Windows

Windowsでは明示的な要件はない一方で、アプリケーションがフォアグラウンドにない間、オーディオをミュートすることが通常好まれます。これを行うには、AkSoundEngine::Init()を呼び出す際、メインウィンドウの hWnd を AkPlatformInitSettings 構造体に渡します。オーディオのスレッドはこの場合継続して実行されます (Suspend(true) 同等)。これはOSが処理を行います。

または、WM_SHOWWINDOW メッセージを処理し、ウィンドウが最小化された場合、オーディオをフェードアウト、またはSuspend()を直接呼び出すなど、何かより具体的なことを行います。


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

サポートは必要ですか?

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

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

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

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

Wwiseからはじめよう