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

Hérite de : Node < Object

Un nœud pour la lecture d'audio.

Description

Le nœud AudioStreamPlayer joue un flux audio de manière non-positionnelle. Il est idéal pour les interfaces utilisateur, les menus ou la musique de fond.

Pour utiliser ce nœud, stream doit être défini à une ressource AudioStream valide. Jouer plus d'un son en même temps est également supporté, voir max_polyphony.

Si vous devez jouer de l'audio à une position spécifique, utilisez AudioStreamPlayer2D ou AudioStreamPlayer3D à la place.

Tutoriels

Propriétés

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

Méthodes

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()


Signaux

finished() 🔗

Émis quand un son finit de jouer sans interruption. Ce signal n'est pas émis lors de l'appel de stop(), ou lors de la sortie de l'arbre pendant que des sons jouent.


Énumérations

enum MixTarget: 🔗

MixTarget MIX_TARGET_STEREO = 0

L'audio ne sera joué que sur le premier canal. C'est le défaut.

MixTarget MIX_TARGET_SURROUND = 1

L'audio sera joué sur tous les canaux surround.

MixTarget MIX_TARGET_CENTER = 2

L'audio sera joué sur le deuxième canal, qui est généralement le centre.


Descriptions des propriétés

bool autoplay = false 🔗

  • void set_autoplay(value: bool)

  • bool is_autoplay_enabled()

Si true, ce nœud appelle play() en entrant dans l'arbre.


StringName bus = &"Master" 🔗

Le nom du bus cible. Tous les sons de ce nœud joueront sur ce bus.

Note : En cours d'exécution, si aucun bus avec le nom donné n'existe, tous les sons se replieront sur "Master". Voir aussi AudioServer.get_bus_name().


int max_polyphony = 1 🔗

  • void set_max_polyphony(value: int)

  • int get_max_polyphony()

Le nombre maximum de sons que ce nœud peut jouer en même temps. Appeler play() après que cette valeur est atteinte coupera les sons les plus anciens.


MixTarget mix_target = 0 🔗

Les canaux cibles de mixage. N'a aucun effet lorsque deux haut-parleurs ou moins sont détectés (voir SpeakerMode).


float pitch_scale = 1.0 🔗

  • void set_pitch_scale(value: float)

  • float get_pitch_scale()

La hauteur et le tempo de l'audio, en tant que multiplicateur du taux d'échantillonnage du flux stream. Une valeur de 2.0 double la hauteur de l'audio, tandis qu'une valeur de 0.5 divise par deux la hauteur.


PlaybackType playback_type = 0 🔗

Expérimental : Cette propriété peut être changée ou retirée dans de futures versions.

Le type de lecture du lecteur de flux. Si défini à autre chose que la valeur par défaut, elle forcera ce type de lecture.


bool playing = false 🔗

  • void set_playing(value: bool)

  • bool is_playing()

Si true, ce nœud joue des sons. Définir cette propriété a le même effet que play() et stop().


AudioStream stream 🔗

La ressource AudioStream à jouer. Définir cette propriété arrête tous les sons en cours de lecture. Si laissé vide, l'AudioStreamPlayer ne fonctionne pas.


bool stream_paused = false 🔗

  • void set_stream_paused(value: bool)

  • bool get_stream_paused()

Si true, les sons sont mis en pause. Définir stream_paused à false reprend tous les sons.

Note : Cette propriété est automatiquement modifiée lors de la sortie ou de l'entrée de l'arbre, ou si ce nœud est mis en pause (voir Node.process_mode).


float volume_db = 0.0 🔗

  • void set_volume_db(value: float)

  • float get_volume_db()

Volume du son, en décibels. Il s'agit d'un décalage du volume de stream.

Note : Pour convertir entre decibels et énergie linéaire (comme la plupart des curseurs de volume font), utilisez volume_linear, ou @GlobalScope.db_to_linear() et @GlobalScope.linear_to_db().


float volume_linear 🔗

  • void set_volume_linear(value: float)

  • float get_volume_linear()

Volume du son, en tant que valeur linéaire.

Note : Ce membre modifie volume_db par commodité. La valeur renvoyée est équivalente au résultat de @GlobalScope.db_to_linear() sur volume_db. Définir ce membre est équivalent à définir volume_db au résultat de @GlobalScope.linear_to_db() sur une valeur.


Descriptions des méthodes

float get_playback_position() 🔗

Renvoie la position dans le AudioStream du dernier son, en secondes. Renvoie 0.0 si aucun son ne joue.

Note : La position n'est pas toujours exacte, car l'AudioServer ne mix pas l'audio à chaque trame traitée. Pour obtenir des résultats plus précis, ajoutez AudioServer.get_time_since_last_mix() à la position renvoyée.

Note : Cette méthode renverra toujours 0.0 si stream est un AudioStreamInteractive, car il peut avoir plusieurs clips jouant à la fois.


AudioStreamPlayback get_stream_playback() 🔗

Renvoie le dernier AudioStreamPlayback de ce nœud, habituellement le plus récemment créé par play(). Si aucun son ne joue, cette méthode échoue et renvoie une lecture vide.


bool has_stream_playback() 🔗

Renvoie true si un son est actif, même si stream_paused est défini à true. Voir aussi playing et get_stream_playback().


void play(from_position: float = 0.0) 🔗

Joue un son depuis le début, ou à la position from_position donnée, en secondes.


void seek(to_position: float) 🔗

Recommence tous les sons à jouer de la position to_position donnée, en secondes. Ne fait rien si aucun son ne joue.


void stop() 🔗

Arrête tous les sons de ce nœud.