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...
AudioStreamInteractive
Eredita: AudioStream < Resource < RefCounted < Object
Flusso audio in grado di riprodurre musica in modo interattivo, combinando i clip e una tabella di transizione.
Descrizione
Questo è un flusso audio che può riprodurre musica in modo interattivo, combinando clip e una tabella di transizione. Le clip devono essere prima aggiunte, e poi le regole di transizione tramite add_transition(). Inoltre, questo flusso esporta un parametro di proprietà per controllare la riproduzione tramite AudioStreamPlayer, AudioStreamPlayer2D o AudioStreamPlayer3D.
Il modo in cui è utilizzato è inserendo un certo numero di clip, quindi configurando la tabella di transizione. Da lì, le clip sono selezionate per la riproduzione e la musica passerà gradualmente da quella attuale a quella nuova, utilizzando la regola di transizione corrispondente definita nella tabella di transizione.
Tutorial
Proprietà
|
||
|
Metodi
void |
add_transition(from_clip: int, to_clip: int, from_time: TransitionFromTime, to_time: TransitionToTime, fade_mode: FadeMode, fade_beats: float, use_filler_clip: bool = false, filler_clip: int = -1, hold_previous: bool = false) |
void |
erase_transition(from_clip: int, to_clip: int) |
get_clip_auto_advance(clip_index: int) const |
|
get_clip_auto_advance_next_clip(clip_index: int) const |
|
get_clip_name(clip_index: int) const |
|
get_clip_stream(clip_index: int) const |
|
get_transition_fade_beats(from_clip: int, to_clip: int) const |
|
get_transition_fade_mode(from_clip: int, to_clip: int) const |
|
get_transition_filler_clip(from_clip: int, to_clip: int) const |
|
get_transition_from_time(from_clip: int, to_clip: int) const |
|
get_transition_list() const |
|
get_transition_to_time(from_clip: int, to_clip: int) const |
|
has_transition(from_clip: int, to_clip: int) const |
|
is_transition_holding_previous(from_clip: int, to_clip: int) const |
|
is_transition_using_filler_clip(from_clip: int, to_clip: int) const |
|
void |
set_clip_auto_advance(clip_index: int, mode: AutoAdvanceMode) |
void |
set_clip_auto_advance_next_clip(clip_index: int, auto_advance_next_clip: int) |
void |
set_clip_name(clip_index: int, name: StringName) |
void |
set_clip_stream(clip_index: int, stream: AudioStream) |
Enumerazioni
enum TransitionFromTime: 🔗
TransitionFromTime TRANSITION_FROM_TIME_IMMEDIATE = 0
Inizia la transizione il prima possibile, non aspettando una posizione temporale specifica.
TransitionFromTime TRANSITION_FROM_TIME_NEXT_BEAT = 1
Passa quando la posizione di riproduzione della clip raggiunge il battito successivo.
TransitionFromTime TRANSITION_FROM_TIME_NEXT_BAR = 2
Passa quando la posizione di riproduzione della clip raggiunge la battuta successiva.
TransitionFromTime TRANSITION_FROM_TIME_END = 3
Passa al termine della riproduzione della clip attuale.
enum TransitionToTime: 🔗
TransitionToTime TRANSITION_TO_TIME_SAME_POSITION = 0
Passa alla stessa posizione nella clip di destinazione. Questo è utile quando entrambe le clip hanno esattamente la stessa lunghezza e la musica deve dissolversi tra di esse.
TransitionToTime TRANSITION_TO_TIME_START = 1
Passa all'inizio della clip di destinazione.
TransitionToTime TRANSITION_TO_TIME_PREVIOUS_POSITION = 2
Transition to the last played position in the destination clip, if there was a previous transition from that clip. Otherwise, plays from the start of the destination clip.
enum FadeMode: 🔗
FadeMode FADE_DISABLED = 0
Non applicare una dissolvenza per la transizione. È utile quando si passa dalla fine di una clip all'inizio di una clip, e ogni clip ha il suo inizio e fine.
FadeMode FADE_IN = 1
Applica una dissolvenza in entrata nella clip successiva e lascia che la clip attuale termini.
FadeMode FADE_OUT = 2
Applica una dissolvenza in uscita alla clip attuale: la clip successiva si avvierà da sola.
FadeMode FADE_CROSS = 3
Applica una dissolvenza incrociata tra le clip.
FadeMode FADE_AUTOMATIC = 4
Applica una logica di dissolvenza automatica a seconda della transizione da/a. Si consiglia di utilizzarla per impostazione predefinita.
enum AutoAdvanceMode: 🔗
AutoAdvanceMode AUTO_ADVANCE_DISABLED = 0
Disabilita l'avanzamento automatico (predefinito).
AutoAdvanceMode AUTO_ADVANCE_ENABLED = 1
Abilita l'avanzamento automatico, è necessario specificare una clip.
AutoAdvanceMode AUTO_ADVANCE_RETURN_TO_HOLD = 2
Abilita l'avanzamento automatico, ma invece di specificare una clip, la riproduzione tornerà in attesa (vedi add_transition()).
Costanti
CLIP_ANY = -1 🔗
Questa costante descrive che qualsiasi clip è valida per una specifica transizione come sorgente o come destinazione.
Descrizioni delle proprietà
Quantità di clip contenute in questo lettore interattivo.
Indice della clip iniziale, che verrà riprodotta per prima quando questo flusso viene riprodotto.
Descrizioni dei metodi
void add_transition(from_clip: int, to_clip: int, from_time: TransitionFromTime, to_time: TransitionToTime, fade_mode: FadeMode, fade_beats: float, use_filler_clip: bool = false, filler_clip: int = -1, hold_previous: bool = false) 🔗
Aggiungi una transizione tra due clip. Fornisci gli indici delle clip di origine e destinazione, oppure usa la costante CLIP_ANY per indicare che la transizione avviene da/a qualsiasi clip a questa.
* from_time indica il momento nella clip attuale in cui inizierà la transizione dopo l'attivazione.
* to_time indica il momento nella clip successiva da cui inizierà la riproduzione.
* fade_mode indica come avverrà la dissolvenza tra le clip. Se non sei sicuro, usa FADE_AUTOMATIC il quale usa il tipo di dissolvenza più comune per ogni situazione.
* fade_beats indica quanti battiti richiederà la dissolvenza. È consentito usare i decimali.
* use_filler_clip indica che verrà usata una clip di riempimento tra le clip di origine e destinazione.
* filler_clip l'indice della clip di riempimento.
* Se viene usato hold_previous, questa clip verrà ricordata. Può essere utilizzato insieme a AUTO_ADVANCE_RETURN_TO_HOLD per tornare a questa clip dopo che un'altra ha terminato la riproduzione.
void erase_transition(from_clip: int, to_clip: int) 🔗
Cancella una transizione fornendo gli indici di clip from_clip e to_clip. CLIP_ANY può essere utilizzato per uno degli argomenti o per entrambi.
AutoAdvanceMode get_clip_auto_advance(clip_index: int) const 🔗
Restituisce se una clip ha l'avanzamento automatico abilitato. Vedi set_clip_auto_advance().
int get_clip_auto_advance_next_clip(clip_index: int) const 🔗
Restituisce la clip verso la quale avanzerà automaticamente la clip a cui fa riferimento l'indice clip_index.
StringName get_clip_name(clip_index: int) const 🔗
Restituisce il nome di una clip.
AudioStream get_clip_stream(clip_index: int) const 🔗
Restituisce l'AudioStream associato a un clip.
float get_transition_fade_beats(from_clip: int, to_clip: int) const 🔗
Restituisce il tempo (in battiti) per una transizione (vedi add_transition()).
FadeMode get_transition_fade_mode(from_clip: int, to_clip: int) const 🔗
Restituisce la modalità per una transizione (vedi add_transition()).
int get_transition_filler_clip(from_clip: int, to_clip: int) const 🔗
Restituisce la clip di riempimento per una transizione (vedi add_transition()).
TransitionFromTime get_transition_from_time(from_clip: int, to_clip: int) const 🔗
Restituisce la posizione del tempo di origine per una transizione (vedi add_transition()).
PackedInt32Array get_transition_list() const 🔗
Restituisce la lista delle transizioni (da, a interlacciato).
TransitionToTime get_transition_to_time(from_clip: int, to_clip: int) const 🔗
Restituisce la posizione del tempo di destinazione per una transizione (vedi add_transition()).
bool has_transition(from_clip: int, to_clip: int) const 🔗
Restituisce true se esiste una determinata transizione (che è stata aggiunta tramite add_transition()).
bool is_transition_holding_previous(from_clip: int, to_clip: int) const 🔗
Restituisce se una transizione utilizza la funzionalità mantieni precedente (vedi add_transition()).
bool is_transition_using_filler_clip(from_clip: int, to_clip: int) const 🔗
Restituisce se una transizione utilizza la funzionalità filler clip (vedi add_transition()).
void set_clip_auto_advance(clip_index: int, mode: AutoAdvanceMode) 🔗
Imposta se una clip avanzerà automaticamente modificando la modalità di avanzamento automatico.
void set_clip_auto_advance_next_clip(clip_index: int, auto_advance_next_clip: int) 🔗
Imposta l'indice della clip successiva verso cui questa clip avanzerà automaticamente una volta terminata. Se la clip riprodotta è in ripetizione, l'avanzamento automatico sarà ignorato.
void set_clip_name(clip_index: int, name: StringName) 🔗
Imposta il nome della clip attuale (per identificarla più facilmente).
void set_clip_stream(clip_index: int, stream: AudioStream) 🔗
Imposta l'AudioStream associato alla clip attuale.