Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
AudioEffectCapture
Eredita: AudioEffect < Resource < RefCounted < Object
Espone i campioni audio da un bus audio in tempo reale, così da poterli accedere come dati.
Descrizione
Copia tutti i frame audio, noti anche come "campioni" o "campioni audio", dal bus audio associato nel suo buffer circolare interno. Questo effetto non altera l'audio. Si può utilizzare per memorizzare dati audio in tempo reale per la riproduzione e per creare visualizzazioni audio in tempo reale, come un oscilloscopio.
Il codice dell'applicazione dovrebbe prelevare questi frame audio da questo buffer circolare usando get_buffer() ed elaborarli come necessario, ad esempio per catturare i dati da un AudioStreamMicrophone, implementare effetti definiti dall'applicazione o trasmettere audio in rete. Quando si catturano i dati audio da un microfono, il formato dei campioni sarà PCM stereo a virgola mobile a 32 bit.
A differenza di AudioEffectRecord, questo effetto restituisce solo i campioni audio grezzi invece di codificarli in un AudioStream.
Tutorial
Proprietà
|
Metodi
can_get_buffer(frames: int) const |
|
void |
|
get_buffer(frames: int) |
|
get_buffer_length_frames() const |
|
get_discarded_frames() const |
|
get_frames_available() const |
|
get_pushed_frames() const |
Descrizioni delle proprietà
Lunghezza del buffer circolare interno, in secondi. Valori più alti mantengono i dati in memoria più a lungo, ma richiedono più memoria. Il valore può variare da 0.01 a 10.
Note: Impostare la lunghezza del buffer non avrà alcun effetto se già inizializzato.
Descrizioni dei metodi
bool can_get_buffer(frames: int) const 🔗
Restituisce true se almeno frames campioni sono disponibili da leggere nel buffer circolare interno.
void clear_buffer() 🔗
Pulisce il buffer circolare interno.
Nota: Chiamare questo durante una cattura può causare la perdita di campioni che causa scoppiettii nella riproduzione.
PackedVector2Array get_buffer(frames: int) 🔗
Ottiene i prossimi frames campioni dal buffer circolare interno.
Restituisce un PackedVector2Array contenente esattamente frames campioni se disponibili, o un PackedVector2Array vuoto se non erano disponibili abbastanza dati.
I campioni sono valori PCM in virgola mobile con segno tra -1 e 1. Dovrai scalarli se vuoi utilizzarli come campioni interi da 8 o 16 bit. (v = 0x7fff * samples[0].x)
int get_buffer_length_frames() const 🔗
Restituisce la dimensione totale del buffer circolare interno, in numero di campioni.
int get_discarded_frames() const 🔗
Restituisce il numero di campioni scartati dal bus audio a causa della memoria piena del buffer.
int get_frames_available() const 🔗
Restituisce il numero di campioni disponibili da leggere usando get_buffer().
int get_pushed_frames() const 🔗
Restituisce il numero di campioni inseriti dal bus audio.