Passa al contenuto principale

Onda Sonora Catturabile

Panoramica

Un'onda sonora catturabile deriva dall'onda sonora in streaming. Supporta la cattura di dati audio da dispositivi di input come un microfono e la loro riproduzione, con le stesse capacità di un'onda sonora importata (incluso il riavvolgimento, l'uso in SoundCues, ecc.). Puoi persino catturare e riprodurre audio simultaneamente senza alcuna limitazione.

suggerimento

Per il Rilevamento dell'Attività Vocale (VAD), consulta questa pagina.

note

L'onda sonora catturabile richiede automaticamente i permessi del microfono su iOS e Android una volta avviata la cattura.

Utilizzo Base

Creare un'Onda Sonora Catturabile

Per prima cosa dovresti creare un'onda sonora catturabile.

Nodo Crea Onda Sonora Catturabile

warning

Dovresti trattare l'onda sonora catturabile come un riferimento forte per prevenirne la distruzione prematura (ad esempio assegnandola a una variabile separata in Blueprints o usando UPROPERTY() in C++).

Ottenere i Dispositivi di Input Disponibili

Per utilizzare questa funzionalità, devi prima ottenere tutti i dispositivi di input audio disponibili che possono essere utilizzati per la cattura.

Nodo Get Available Audio Input Devices

Avvio e Arresto della Cattura

Dopo aver ottenuto i dispositivi disponibili, puoi iniziare a catturare i dati audio dal dispositivo di input e fermarla quando necessario.

Nodi di avvio e arresto cattura

informazioni

DeviceId è l'indice del dispositivo nell'array dei dispositivi disponibili ottenuto dal passaggio precedente. Per utilizzare il dispositivo di input audio predefinito, passa -1 in Blueprints o Audio::DefaultDeviceIndex in C++ (che equivale a INDEX_NONE), poiché a volte l'indice zero non è il dispositivo predefinito.

Verifica dello Stato di Cattura

Puoi verificare se la sound wave sta attualmente catturando audio:

Nodo Is Capturing

Funzionalità Avanzate

Attivazione e Disattivazione del Mutecattura

Puoi scegliere di attivare o disattivare il mutecattura del suono per impedire l'accumulo di dati audio senza interrompere il processo di cattura.

Toggle Mute nodes

Differenze Versioni Engine

UE 5.3 e più recenti: Avviare e fermare la cattura non causa più micro-freeze, quindi ToggleMute ha lo stesso effetto di StartCapture/StopCapture. Potresti non aver bisogno di usare ToggleMute per ottimizzare le prestazioni.

UE 5.2 e precedenti: Avviare la cattura tramite StartCapture potrebbe causare micro-freeze. In queste versioni, è raccomandato usare ToggleMute per attivare e disattivare frequentemente la cattura. Dovresti prima avviare la cattura stessa durante un momento meno critico (come una schermata di caricamento), e poi usare mute/unmute per controllare quando i dati audio vengono effettivamente accumulati.

Ottimizzazione Prestazioni per Versioni Engine Precedenti

Se stai usando UE 5.2 o precedenti e vuoi eliminare leggeri freeze, considera di avviare la cattura durante un momento in cui questo freeze potrebbe essere trascurabile. Per esempio, potresti avviare la cattura durante la schermata di caricamento del tuo gioco, silenziare la sound wave catturabile subito dopo, e poi riattivare l'audio della sound wave catturabile quando necessario per acquisire dati audio senza alcun freeze.

Esempio Completo

Ecco un esempio completo di implementazione dell'uso di una sound wave catturabile:

Un esempio di utilizzo di una sound wave catturabile