AudioStreamInteractive
Hereda: AudioStream < Resource < RefCounted < Object
Transmisión de audio que puede reproducir música de forma interactiva, combinando clips y una tabla de transición.
Descripción
Este flujo de audio permite reproducir música interactivamente, combinando clips y una tabla de transiciones. Primero se deben agregar los clips y, a continuación, las reglas de transición mediante el método add_transition(). Además, este flujo exporta un parámetro de propiedad para controlar la reproducción mediante AudioStreamPlayer, AudioStreamPlayer2D o AudioStreamPlayer3D.
Para ello, se completan varios clips y luego se configura la tabla de transiciones. A partir de ahí, se seleccionan los clips para su reproducción y la música se reproduce fluidamente del actual al nuevo, utilizando la regla de transición correspondiente definida en la tabla.
Propiedades
|
||
|
Métodos
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) |
Enumeraciones
enum TransitionFromTime: 🔗
TransitionFromTime TRANSITION_FROM_TIME_IMMEDIATE = 0
Comenzar la transición lo antes posible, sin esperar ninguna posición temporal específica.
TransitionFromTime TRANSITION_FROM_TIME_NEXT_BEAT = 1
Transition when the clip playback position reaches the next beat.
TransitionFromTime TRANSITION_FROM_TIME_NEXT_BAR = 2
Transición cuando la posición de reproducción del clip llega a la siguiente barra.
TransitionFromTime TRANSITION_FROM_TIME_END = 3
Transición cuando el clip actual terminó de reproducirse.
enum TransitionToTime: 🔗
TransitionToTime TRANSITION_TO_TIME_SAME_POSITION = 0
Transición a la misma posición en el clip de destino. Esto es útil cuando ambos clips tienen la misma duración y la música debe fundirse entre ellos.
TransitionToTime TRANSITION_TO_TIME_START = 1
Transición al inicio del clip de destino.
enum FadeMode: 🔗
FadeMode FADE_DISABLED = 0
No usar el desvanecimiento para la transición. Esto es útil al pasar del final de un clip al principio, y cada clip tiene su inicio/fin.
FadeMode FADE_IN = 1
Utilizar un fundido de entrada en el siguiente clip y dejar que el clip actual termine.
FadeMode FADE_OUT = 2
Usar un desvanecimiento en el clip actual, el siguiente clip comenzará solo.
FadeMode FADE_CROSS = 3
Use a cross-fade between clips.
FadeMode FADE_AUTOMATIC = 4
Utilizar la lógica de desvanecimiento automático según la transición de/a. Se recomienda usar esta opción por defecto.
enum AutoAdvanceMode: 🔗
AutoAdvanceMode AUTO_ADVANCE_DISABLED = 0
Deshabilitar el avance automático (predeterminado).
AutoAdvanceMode AUTO_ADVANCE_ENABLED = 1
Habilitar el avance automático, se debe especificar un clip.
AutoAdvanceMode AUTO_ADVANCE_RETURN_TO_HOLD = 2
Habilitar el avance automático, pero en lugar de especificar un clip, la reproducción volverá al modo de espera (véase add_transition()).
Constantes
CLIP_ANY = -1 🔗
Esta constante describe que cualquier clip es válido para una transición específica como origen o destino.
Descripciones de Propiedades
Cantidad de clips contenidos en este reproductor interactivo.
Índice del clip inicial, que se reproducirá primero cuando se reproduzca esta transmisión.
Descripciones de Métodos
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) 🔗
Add a transition between two clips. Provide the indices of the source and destination clips, or use the CLIP_ANY constant to indicate that transition happens to/from any clip to this one.
* from_time indicates the moment in the current clip the transition will begin after triggered.
* to_time indicates the time in the next clip that the playback will start from.
* fade_mode indicates how the fade will happen between clips. If unsure, just use FADE_AUTOMATIC which uses the most common type of fade for each situation.
* fade_beats indicates how many beats the fade will take. Using decimals is allowed.
* use_filler_clip indicates that there will be a filler clip used between the source and destination clips.
* filler_clip the index of the filler clip.
* If hold_previous is used, then this clip will be remembered. This can be used together with AUTO_ADVANCE_RETURN_TO_HOLD to return to this clip after another is done playing.
void erase_transition(from_clip: int, to_clip: int) 🔗
Borra una transición proporcionando los índices de clip from_clip y to_clip. CLIP_ANY se puede utilizar para cualquiera de los argumentos o para ambos.
AutoAdvanceMode get_clip_auto_advance(clip_index: int) const 🔗
Indica si un clip tiene habilitado el avance automático. Véase set_clip_auto_advance().
int get_clip_auto_advance_next_clip(clip_index: int) const 🔗
Devuelve el clip hacia el cual avanzará automáticamente el clip referenciado por clip_index.
StringName get_clip_name(clip_index: int) const 🔗
Devuelve el nombre de un clip.
AudioStream get_clip_stream(clip_index: int) const 🔗
Devuelve el AudioStream asociado con un clip.
float get_transition_fade_beats(from_clip: int, to_clip: int) const 🔗
Return the time (in beats) for a transition (see add_transition()).
FadeMode get_transition_fade_mode(from_clip: int, to_clip: int) const 🔗
Devuelve el modo de una transición (véase add_transition()).
int get_transition_filler_clip(from_clip: int, to_clip: int) const 🔗
Devuelve el clip de relleno para una transición (véase add_transition()).
TransitionFromTime get_transition_from_time(from_clip: int, to_clip: int) const 🔗
Devuelve la posición temporal de origen para una transición (véase add_transition()).
PackedInt32Array get_transition_list() const 🔗
Devuelve la lista de transiciones (desde, hasta intercaladas).
TransitionToTime get_transition_to_time(from_clip: int, to_clip: int) const 🔗
Devuelve la posición temporal de destino para una transición (véase add_transition()).
bool has_transition(from_clip: int, to_clip: int) const 🔗
Devuelve true si existe una transición determinada (se agregó mediante add_transition()).
bool is_transition_holding_previous(from_clip: int, to_clip: int) const 🔗
Devuelve si una transición utiliza la funcionalidad mantener anterior (véase add_transition()).
bool is_transition_using_filler_clip(from_clip: int, to_clip: int) const 🔗
Devuelve si una transición utiliza la funcionalidad clip de relleno (véase add_transition()).
void set_clip_auto_advance(clip_index: int, mode: AutoAdvanceMode) 🔗
Establecer si un clip avanzará automáticamente cambiando el modo de avance automático.
void set_clip_auto_advance_next_clip(clip_index: int, auto_advance_next_clip: int) 🔗
Establecer el índice del siguiente clip al que este avanzará automáticamente al finalizar. Si el clip se reproduce en bucle, se ignorará el avance automático.
void set_clip_name(clip_index: int, name: StringName) 🔗
Establecer el nombre del clip actual (para una identificación más fácil).
void set_clip_stream(clip_index: int, stream: AudioStream) 🔗
Establecer el AudioStream asociado con el clip actual.