跳至主要内容

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

概要

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

提示

音声アクティビティ検出(VAD)については、このページを参照してください。

備註

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

基本的な使い方

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

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

Create Capturable Sound Wave ノード

注意

您應將可捕獲的聲音波視為強引用,以防止其過早銷毀(例如,在藍圖中將其分配給單獨的變量,或在 C++ 中使用 UPROPERTY())。

獲取可用輸入設備

要使用此功能,您需要先獲取所有可用於捕獲的音頻輸入設備。

獲取可用音頻輸入設備節點

開始與停止擷取

取得可用裝置後,您可以開始從輸入裝置擷取音訊資料,並在需要時停止。

開始與停止擷取節點

資訊

DeviceId 是從上一步獲取的可使用裝置陣列中的裝置索引。若要使用預設音訊輸入裝置,請在 Blueprints 中傳遞 -1,或在 C++ 中傳遞 Audio::DefaultDeviceIndex(等於 INDEX_NONE),因為零索引有時並非預設裝置。

檢查擷取狀態

您可以檢查音波是否正在擷取音訊:

Is Capturing 節點

進階功能

靜音與取消靜音擷取

您可以選擇靜音或取消靜音音訊擷取,以防止音訊資料累積,同時不中斷擷取過程。

切換靜音節點

引擎版本差異

UE 5.3 及更新版本: 開始和停止擷取不再造成卡頓,因此 ToggleMuteStartCapture/StopCapture 效果相同。您可能完全不需要為了效能最佳化而使用 ToggleMute

UE 5.2 及更早版本: 透過 StartCapture 開始擷取可能會造成輕微卡頓。在這些版本中,建議在頻繁切換擷取開關時使用 ToggleMute。您應先在較不關鍵的時間(例如載入畫面)啟動擷取本身,然後使用靜音/取消靜音來控制何時實際累積音訊資料。

針對較早引擎版本的效能最佳化

如果您使用的是 UE 5.2 或更早版本,並希望消除輕微的凍結,請考慮在該凍結可能影響較小的時間點開始擷取。例如,您可以在遊戲的載入畫面期間開始擷取,之後立即將可擷取音波靜音,然後在需要擷取音訊資料時再取消靜音,如此即可無卡頓地進行。

完整範例

以下是使用可擷取音波的完整實作範例:

使用可擷取音波的範例