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
Hérite de : AudioStream < Resource < RefCounted < Object
Flux audio qui peut jouer de la musique de manière interactive, en combinant des clips et une table de transition.
Description
C'est un flux audio qui peut jouer de la musique de manière interactive, en combinant des clips et une table de transition. Les clips doivent être d'abord ajoutés, puis les règles de transition via add_transition(). De plus, ce flux exporte un paramètre de propriété pour contrôler la lecture via AudioStreamPlayer, AudioStreamPlayer2D, ou AudioStreamPlayer3D.
La façon dont cela est utilisé est de remplir un certain nombre de clips, puis de configurer la table de transition. De là, les clips sont sélectionnés pour la lecture et la musique passera en douceur du clip courant au nouveau tout en utilisant la règle de transition correspondante définie dans la table de transition.
Tutoriels
Propriétés
|
||
|
Méthodes
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) |
Énumérations
enum TransitionFromTime: 🔗
TransitionFromTime TRANSITION_FROM_TIME_IMMEDIATE = 0
Commence la transition dès que possible, n'attend pas de position temporelle spécifique.
TransitionFromTime TRANSITION_FROM_TIME_NEXT_BEAT = 1
Transitionne lorsque la position de lecture du clip atteint le prochain battement.
TransitionFromTime TRANSITION_FROM_TIME_NEXT_BAR = 2
Transitionne lorsque la position de lecture du clip atteint la mesure suivante.
TransitionFromTime TRANSITION_FROM_TIME_END = 3
Transitionne lorsque le clip actuel a fini de jouer.
enum TransitionToTime: 🔗
TransitionToTime TRANSITION_TO_TIME_SAME_POSITION = 0
Transitionne à la même position dans le clip de destination. Ceci est utile lorsque les deux clips ont exactement la même longueur et que la musique devrait faire un fondu entre eux.
TransitionToTime TRANSITION_TO_TIME_START = 1
Transitionne au début du clip de destination.
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
Ne pas utiliser de fondu pour la transition. Ceci est utile lors du passage d'une fin de clip à un début de clip, et que chaque clip a son début/fin.
FadeMode FADE_IN = 1
Utilise un fondu d'ouverture (fade-in) dans le clip suivant, laisse le clip actuel se terminer.
FadeMode FADE_OUT = 2
Utilise un fondu de fermeture (fade-out) dans le clip suivant, le prochain clip va commencer tout seul.
FadeMode FADE_CROSS = 3
Utilise un fondu enchaîné entre les clips.
FadeMode FADE_AUTOMATIC = 4
Utilise une logique de fondu automatique en fonction de la transition de/vers. Il est recommandé d'utiliser ceci par défaut.
enum AutoAdvanceMode: 🔗
AutoAdvanceMode AUTO_ADVANCE_DISABLED = 0
Désactive l'avance automatique (par défaut).
AutoAdvanceMode AUTO_ADVANCE_ENABLED = 1
Active l'avancement automatique, un clip doit être spécifié.
AutoAdvanceMode AUTO_ADVANCE_RETURN_TO_HOLD = 2
Active l'avancement automatique, mais au lieu de spécifier un clip, la lecture retournera au clip gardé (voir add_transition()).
Constantes
CLIP_ANY = -1 🔗
Cette constante décrit que tout clip est valide pour une transition spécifique comme une source ou une destination.
Descriptions des propriétés
Quantité de clips contenus dans ce lecteur interactif.
Index du clip initial, qui sera joué en premier lorsque ce flux est joué.
Descriptions des méthodes
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) 🔗
Ajoute une transition entre deux clips. Fournissez les indices des clips source et de destination, ou utilisez la constante CLIP_ANY pour indiquer que la transition se produit de/vers tout clip à celui-ci.
* from_time indique le moment dans le clip actuel où la transition commencera après être déclenchée.
* to_time indique le temps dans le prochain clip où la lecture commencera.
* fade_mode indique comment la fondu va se produire entre les clips. Si incertain, utilisez juste FADE_AUTOMATIC qui utilise le type de fondu le plus courant pour chaque situation.
* fade_beats indique combien de battements la fondu va prendre. L'utilisation de décimales est autorisée.
* use_filler_clip indique qu'il y aura un clip de remplissage utilisé entre les clips source et de destination.
* filler_clip l'index du clip de remplissage.
* Si hold_previous est utilisé, alors ce clip sera mis en mémoire. Cela peut être utilisé avec AUTO_ADVANCE_RETURN_TO_HOLD pour revenir à ce clip après qu'un autre ait fini de jouer.
void erase_transition(from_clip: int, to_clip: int) 🔗
Efface une transition en fournissant les indices de clip from_clip et to_clip. CLIP_ANY peut être utilisé pour un ou les deux arguments.
AutoAdvanceMode get_clip_auto_advance(clip_index: int) const 🔗
Renvoie si un clip a l'avancement automatique activé. Voir set_clip_auto_advance().
int get_clip_auto_advance_next_clip(clip_index: int) const 🔗
Renvoie le clip vers lequel le clip référencé par clip_index va avancer automatiquement.
StringName get_clip_name(clip_index: int) const 🔗
Renvoie le nom d'un clip.
AudioStream get_clip_stream(clip_index: int) const 🔗
Renvoie l’AudioStream associé à un clip.
float get_transition_fade_beats(from_clip: int, to_clip: int) const 🔗
Renvoie le temps (en battements) pour une transition (voir add_transition()).
FadeMode get_transition_fade_mode(from_clip: int, to_clip: int) const 🔗
Renvoie le mode pour une transition (voir add_transition()).
int get_transition_filler_clip(from_clip: int, to_clip: int) const 🔗
Renvoie le clip de remplissage pour une transition (voir add_transition()).
TransitionFromTime get_transition_from_time(from_clip: int, to_clip: int) const 🔗
Renvoie la position du temps de la source pour une transition (voir add_transition()).
PackedInt32Array get_transition_list() const 🔗
Renvoie la liste des transitions (de et à entrelacés).
TransitionToTime get_transition_to_time(from_clip: int, to_clip: int) const 🔗
Renvoie la position du temps de la destination pour une transition (voir add_transition()).
bool has_transition(from_clip: int, to_clip: int) const 🔗
Renvoie true si une transition donnée existe (a été ajoutée via add_transition()).
bool is_transition_holding_previous(from_clip: int, to_clip: int) const 🔗
Renvoie si une transition utilise la fonctionnalité maintenir précédente (voir add_transition()).
bool is_transition_using_filler_clip(from_clip: int, to_clip: int) const 🔗
Renvoie si une transition utilise la fonctionnalité clip de remplissage (voir add_transition()).
void set_clip_auto_advance(clip_index: int, mode: AutoAdvanceMode) 🔗
Définit si un clip va avancer automatiquement en changeant le mode d'avancement automatique.
void set_clip_auto_advance_next_clip(clip_index: int, auto_advance_next_clip: int) 🔗
Définir l'index du prochain clip vers lequel ce clip va automatiquement avancer lorsqu'il est fini. Si le clip joué boucle, alors l'avancement automatique sera ignoré.
void set_clip_name(clip_index: int, name: StringName) 🔗
Définit le nom du clip actuel (pour une identification plus facile).
void set_clip_stream(clip_index: int, stream: AudioStream) 🔗
Définit l'AudioStream associé au clip actuel.