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.

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à

int

clip_count

0

int

initial_clip

0

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)

AutoAdvanceMode

get_clip_auto_advance(clip_index: int) const

int

get_clip_auto_advance_next_clip(clip_index: int) const

StringName

get_clip_name(clip_index: int) const

AudioStream

get_clip_stream(clip_index: int) const

float

get_transition_fade_beats(from_clip: int, to_clip: int) const

FadeMode

get_transition_fade_mode(from_clip: int, to_clip: int) const

int

get_transition_filler_clip(from_clip: int, to_clip: int) const

TransitionFromTime

get_transition_from_time(from_clip: int, to_clip: int) const

PackedInt32Array

get_transition_list() const

TransitionToTime

get_transition_to_time(from_clip: int, to_clip: int) const

bool

has_transition(from_clip: int, to_clip: int) const

bool

is_transition_holding_previous(from_clip: int, to_clip: int) const

bool

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à

int clip_count = 0 🔗

  • void set_clip_count(value: int)

  • int get_clip_count()

Quantità di clip contenute in questo lettore interattivo.


int initial_clip = 0 🔗

  • void set_initial_clip(value: int)

  • int get_initial_clip()

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.