メインコンテンツまでスキップ

オーディオのインポート

ランタイムでオーディオをインポートするプロセスはいくつかのステップに分解できます:

  1. Runtime Audio Importer を作成する。
  2. 必要なデリゲート(OnProgressOnResult)にバインドする。
  3. ファイルまたはバッファからオーディオをインポートする。
  4. OnResult デリゲートから得られたインポートされた音声波を再生する(詳細はこちら)。

Runtime Audio ImporterSound Waveのインスタンスが不要にガベージコレクトされないように、UPROPERTY()TStrongObjectPtr、またはオブジェクトが破壊されるのを防ぐための他の方法を使用して、それらにハード参照を保持して、別々の変数に割り当てることをお勧めします。

Blueprints の例

最初に、Runtime Audio Importer オブジェクトを作成する必要があります。これはガーベジコレクタによって強い参照として扱われることを確認してください。これは、Blueprints 内で別々の変数として配置することで達成できます。これにより、オブジェクトの早期破壊を防ぎます。

Runtime Audio Importer ノードを作成


オーディオデータのインポート進行状況を監視するには、OnProgress (Blueprints) / OnProgressNative (C++) デリゲートにバインドすることができます。これにより、進行状況を監視でき、例えばローディング画面を実装できます。このデリゲートにバインドするには、バインドイベントノードからイベントピンを引っ張るだけです。

On Progress デリゲートへのバインド例


オーディオデータのインポートプロセスが完了したことを通知され、生成された音波の参照にアクセスするには、OnResult (Blueprints) / OnResultNative (C++) デリゲートにバインドする必要があります。また、インポートされた音波が不要な早期のガベージコレクションを防ぐために、ガーベージコレクタによって強参照として扱われていることを確認してください。これは、Blueprints でそれを別の変数として配置することで行えます。

On Result デリゲートにバインドする例


オーディオインポートプロセスを開始するには、圧縮および非圧縮のオーディオデータ形式を扱うことができる関連機能を呼び出します。

インポートオーディオノードの例


インポートプロセスが完了すると、OnResult デリゲートを通じて結果として得られたインポートされた音波を取得できます。

完全な例

完全な例