Wwise SDK 2024.1.1
|
このページには、OpenHarmony向けにWwise SDKを使用する際の情報が記載されています。
OpenHarmony SDKをダウンロードする前に、まずプロジェクトを登録(プロジェクトの登録を参照)し、ライセンスを取得する必要があります。プロジェクトが承認されると、Audiokinetic LauncherのDeployment PlatformsリストにOpenHarmonyのオプションが表示されます。
Wwise SDKをOpenHarmonyプラットフォームで使用するには、HarmonyOS NEXT SDKをインストールする必要があります。バージョン要件については、 OpenHarmonyリリースノート にある適切なバージョンをご参照ください。
OpenHarmonyにサンプルプラグインをビルドするには、HarmonyOS NEXT SDKに含まれるCMakeツールが必要です。
Wwise SDKのプリコンパイルライブラリが以下のフレーバーでコンパイルされています:
今後、ほかのABIのプリコンパイル済みサポートが追加される可能性があります。
OpenHarmonyにSoundBankを展開およびロードする方法は2つあります。
HAPをビルドする前に、サウンドエンジンを稼働させるOpenHarmonyモジュールのsrc/main/resources/rawfile
サブフォルダに、SoundBankとメディアファイルを入れます。この場所にあるファイルは、ビルド時にHAPにパッケージ化されます。
次に、アプリケーションは以下のアクションをネイティブコードで実行する必要があります:
NativeResourceManager
オブジェクトを作成します。SDK/samples/SoundEngine/OpenHarmony
ディレクトリにあるサンプル低レベルI/Oフック CAkDefaultIOHookDeferred
をインスタンス化します。CAkDefaultIOHookDeferred::UseResourceManager()
をコールし、ステップ1で作成したリソースマネージャオブジェクトを渡します。CAkDefaultIOHookDeferred::AddBasePath()
をコールし、rawfile://
のプレフィックスが付いたrawfileディレクトリの相対パスを渡します。例えばSoundBankをsrc/main/resources/rawfile/StreamingAssets/Wwise
に入れた場合、ベースパスrawfile://StreamingAssets/Wwise
を指定します。注釈: Wwise SDKに含まれるサンプル低レベルI/Oフックを使用しない場合、独自のI/Oフックを実装し、OpenHarmonyのrawfile APIを使用してパッケージ化されたファイルを読み込む必要があります。 OpenHarmonyのrawfile APIは読み取り専用のため、 |
SoundBankは、デバイスのファイルシステムのどこにでも展開できます。追加できるディレクトリ数に制限はなく、追加するには CAkDefaultIOHookDeferred::AddBasePath()
を使用します。rawfile://
のプレフィックスが付いていないベースパスはすべて標準的なPOSIXファイルシステムパスと解釈され、ファイルの読み書きに標準的なPOSIXファイルI/O関数が使用されます。書き込みモードで開く必要のあるファイルについては、これらのパスを限定的に使用します。
I/Oシステムは、指定したパスのファイル検索を、最も新しく追加されたパスから逆順に開始します。
低レベルI/Oサブモジュールの実装方法については 低レベル I/O をご覧ください。
Wwise handles audio interruptions (such as incoming calls or alarms) automatically. Wwise suspends the sound engine during an interruption and reactivates it when the interruption ends.
By default, Wwise keeps playing back audio even when the app loses focus and is hidden from view. To stop playback when the app is out of focus, call AK::SoundEngine::Suspend
when the app is hidden, and AK::SoundEngine::WakeupFromSuspend
when the app is shown. You can register Event listeners for these transitions from ArkTS through the Window module, or from C/C++ using the Xcomponent module.
Refer to Integration Demoサンプル for an example of how to handle Xcomponent's SurfaceHide and SurfaceShow callbacks to suspend and resume the sound engine.
Communicationsモジュールを正常に初期化するには、アプリケーションモジュールがohos.permission.INTERNET
パーミッションをリクエストする必要があります。このパーミッションがOSによって許可されると、Communicationsモジュールは適切なTCPポートとUDPポートを開くことができるため、Wwise Profilerとの通信が可能になります。
Communicationsモジュールを初期化する方法については、 通信の初期化 をご覧ください。
Wwise Motionが正常に動作するには、アプリケーションモジュールがohos.permission.VIBRATE
パーミッションをリクエストする必要があります。このパーミッションがOSによって許可されると、Wwise Motionはデバイスを適切に振動させることができるようになります。
OpenHarmonyデバイスのバイブレーション機能は非常に大まかなため、きめ細かい高解像度のハプティックフィードバックに対応できません。このプラットフォームでは、一定強度のランブルエフェクトや短いUIハプティックフィードバックの波動にWwise Motionを活用することが推奨されます。