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

キャプチャ可能なサウンドウェーブ

概要

キャプチャ可能なサウンドウェーブはストリーミングサウンドウェーブから派生しています。マイクなどの入力デバイスからオーディオデータをキャプチャし、再生することが可能で、インポートされたサウンドウェーブと同じ機能(巻き戻し、SoundCueでの使用など)を備えています。さらに、オーディオのキャプチャと再生を同時に行うことも制限なく可能です。

ヒント

音声活動検出(Voice Activity Detection, VAD)についてはこのページを参照してください。

注記

キャプチャ可能なサウンドウェーブは、iOSとAndroidでキャプチャを開始すると自動的にマイクの権限を要求します。

基本使用法

キャプチャ可能なサウンドウェーブの作成

まずキャプチャ可能なサウンドウェーブを作成する必要があります。

Create Capturable Sound Wave node

警告

キャプチャ可能な音声波形を強参照として扱い、早期破壊を防ぐ必要があります(例:Blueprintsで別変数に割り当てるか、C++でUPROPERTY()を使用する)。

利用可能な入力デバイスの取得

この機能を使用するには、まずキャプチャに使用可能なオーディオ入力デバイスをすべて取得する必要があります。

利用可能なオーディオ入力デバイスを取得するノード

キャプチャの開始と停止

利用可能なデバイスを取得した後、入力デバイスからオーディオデータのキャプチャを開始し、必要に応じて停止できます。

Start and Stop capture nodes

備考

DeviceIdは、前のステップで取得した利用可能なデバイスの配列におけるインデックスです。

高度な機能

キャプチャのミュートとミュート解除

キャプチャプロセスを中断することなく、オーディオデータの蓄積を防ぐために、サウンドキャプチャをミュートまたはミュート解除することを選択できます。

Toggle Mute nodes

パフォーマンス最適化

StartCaptureを通じて録音を開始すると、エンジン側で軽微なヒッチが発生する可能性があるため、頻繁にキャプチャを切り替える場合に有用です。まずキャプチャ自体を開始し、その後でミュート/ミュート解除を行うべきです。

わずかなフリーズを解消したい場合、そのフリーズが無視できるタイミングでキャプチャを開始することを検討できます。例えば、ゲームのローディング画面中にキャプチャを開始し、その後すぐにキャプチャ可能なサウンドウェーブをミュートし、必要な時にキャプチャ可能なサウンドウェーブのミュートを解除すれば、ヒッチなしでオーディオデータをキャプチャできます。

完全な例

キャプチャ可能なサウンドウェーブを使用した完全な実装例を以下に示します:

キャプチャ可能なサウンドウェーブの使用例