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.

AudioStreamPlayer

Eredita: Node < Object

Un nodo per la riproduzione audio.

Descrizione

Il nodo AudioStreamPlayer riproduce un flusso audio in modo non posizionale. È ideale per le interfacce utente, menu o musica di sottofondo.

Per utilizzare questo nodo, stream deve essere impostato su una risorsa AudioStream valida. È supportata anche la riproduzione di più suoni alla volta, vedi max_polyphony.

Se è necessario riprodurre l'audio in una posizione specifica, usa invece AudioStreamPlayer2D o AudioStreamPlayer3D.

Tutorial

Proprietà

bool

autoplay

false

StringName

bus

&"Master"

int

max_polyphony

1

MixTarget

mix_target

0

float

pitch_scale

1.0

PlaybackType

playback_type

0

bool

playing

false

AudioStream

stream

bool

stream_paused

false

float

volume_db

0.0

float

volume_linear

Metodi

float

get_playback_position()

AudioStreamPlayback

get_stream_playback()

bool

has_stream_playback()

void

play(from_position: float = 0.0)

void

seek(to_position: float)

void

stop()


Segnali

finished() 🔗

Emesso quando un suono termina la riproduzione senza interruzioni. Questo segnale non viene emesso quando si chiama stop(), o quando si esce dall'albero mentre sono riprodotti dei suoni.


Enumerazioni

enum MixTarget: 🔗

MixTarget MIX_TARGET_STEREO = 0

L'audio verrà riprodotto solo sul primo canale. Questa è l'impostazione predefinita.

MixTarget MIX_TARGET_SURROUND = 1

L'audio verrà riprodotto su tutti i canali surround.

MixTarget MIX_TARGET_CENTER = 2

L'audio verrà riprodotto sul secondo canale, che solitamente è il centro.


Descrizioni delle proprietà

bool autoplay = false 🔗

  • void set_autoplay(value: bool)

  • bool is_autoplay_enabled()

Se true, questo nodo chiama play() quando entra nell'albero.


StringName bus = &"Master" 🔗

Il nome del bus di destinazione. Tutti i suoni provenienti da questo nodo saranno riprodotti su questo bus.

Nota: In fase di esecuzione, se non esiste alcun bus con il nome specificato, tutti i suoni ricadranno su "Master". Vedi anche AudioServer.get_bus_name().


int max_polyphony = 1 🔗

  • void set_max_polyphony(value: int)

  • int get_max_polyphony()

Il numero massimo di suoni che questo nodo può riprodurre allo stesso tempo. Chiamando play() dopo aver raggiunto questo valore interromperà i suoni più vecchi.


MixTarget mix_target = 0 🔗

I canali di destinazione del mix. Non ha alcun effetto quando sono rilevati due altoparlanti o meno (vedi SpeakerMode).


float pitch_scale = 1.0 🔗

  • void set_pitch_scale(value: float)

  • float get_pitch_scale()

Il tono e il tempo dell'audio, come moltiplicatore della frequenza di campionamento di stream. Un valore di 2.0 raddoppia l'intonazione dell'audio, mentre un valore di 0.5 dimezza l'intonazione.


PlaybackType playback_type = 0 🔗

Sperimentale: Questa proprietà potrebbe essere cambiata o rimossa in versioni future.

Il tipo di riproduzione dello stream player. Se impostato diversamente dal valore predefinito, forzerà quel tipo di riproduzione.


bool playing = false 🔗

  • void set_playing(value: bool)

  • bool is_playing()

Se true, questo nodo sta riproducendo suoni. Impostare questa proprietà ha lo stesso effetto di play() e stop().


AudioStream stream 🔗

La risorsa AudioStream da riprodurre. Impostare questa proprietà interrompe tutti i suoni attualmente in riproduzione. Se lasciato vuoto, l'AudioStreamPlayer non funziona.


bool stream_paused = false 🔗

  • void set_stream_paused(value: bool)

  • bool get_stream_paused()

Se true, i suoni sono messi in pausa. Impostare stream_paused a false riprende tutti i suoni.

Nota: Questa proprietà viene modificata automaticamente quando si esce o si entra nell'albero, oppure quando questo nodo viene messo in pausa (vedi Node.process_mode).


float volume_db = 0.0 🔗

  • void set_volume_db(value: float)

  • float get_volume_db()

Volume del suono, in decibel. Questo è un offset del volume di stream.

Nota: Per convertire tra decibel ed energia lineare (come fanno la maggior parte dei cursori del volume), usa volume_linear, o @GlobalScope.db_to_linear() e @GlobalScope.linear_to_db().


float volume_linear 🔗

  • void set_volume_linear(value: float)

  • float get_volume_linear()

Volume del suono, come valore lineare.

Nota: Questo membro modifica volume_db per comodità. Il valore restituito è equivalente al risultato di @GlobalScope.db_to_linear() su volume_db. Impostare questo membro equivale a impostare volume_db sul risultato di @GlobalScope.linear_to_db() su un valore.


Descrizioni dei metodi

float get_playback_position() 🔗

Restituisce la posizione nell'AudioStream dell'ultimo suono, in secondi. Restituisce 0.0 se non è riprodotto alcun suono.

Nota: La posizione non è sempre precisa, poiché AudioServer non mixa l'audio in ogni frame di processo. Per ottenere risultati più accurati, aggiungi AudioServer.get_time_since_last_mix() alla posizione restituita.

Nota: Questo metodo restituisce sempre 0.0 se stream è un AudioStreamInteractive, poiché può avere più clip in riproduzione alla volta.


AudioStreamPlayback get_stream_playback() 🔗

Restituisce l'ultimo AudioStreamPlayback di questo nodo, solitamente l'ultimo creato da play(). Se non è riprodotto alcun suono, questo metodo fallisce e restituisce un riproduttore vuoto.


bool has_stream_playback() 🔗

Restituisce true se un qualunque suono è attivo, anche se stream_paused è impostato su true. Vedi anche playing e get_stream_playback().


void play(from_position: float = 0.0) 🔗

Riproduce un suono dall'inizio, o dalla posizione from_position in secondi.


void seek(to_position: float) 🔗

Riavvia tutti i suoni per essere riprodotti dalla posizione to_position, in secondi. Non fa nulla se non è riprodotto alcun suono.


void stop() 🔗

Interrompe tutti i suoni da questo nodo.