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...
AudioServer
Hereda: Object
Interfaz de servidor para acceso de audio de bajo nivel.
Descripción
AudioServer es una interfaz de servidor de bajo nivel para el acceso al audio. Se encarga de crear datos de muestra (audio reproducible) así como de su reproducción a través de una interfaz de voz.
Tutoriales
Propiedades
|
||
|
||
|
||
|
Métodos
Señales
bus_layout_changed() 🔗
Emitida cuando se agrega, elimina o mueve un bus de audio.
bus_renamed(bus_index: int, old_name: StringName, new_name: StringName) 🔗
Emitida cuando el bus de audio en bus_index cambia de nombre de old_name a new_name.
Enumeraciones
enum SpeakerMode: 🔗
SpeakerMode SPEAKER_MODE_STEREO = 0
Se detectaron dos o menos altavoces.
SpeakerMode SPEAKER_SURROUND_31 = 1
Se detectó una configuración de sonido envolvente de 3.1 canales.
SpeakerMode SPEAKER_SURROUND_51 = 2
Se detectó una configuración de sonido envolvente de 5.1 canales.
SpeakerMode SPEAKER_SURROUND_71 = 3
Se detectó una configuración de sonido envolvente de 7.1 canales.
enum PlaybackType: 🔗
PlaybackType PLAYBACK_TYPE_DEFAULT = 0
Experimental: Esta constante podría ser modificada o eliminada en versiones futuras.
La reproducción se considerará del tipo declarado en ProjectSettings.audio/general/default_playback_type.
PlaybackType PLAYBACK_TYPE_STREAM = 1
Experimental: Esta constante podría ser modificada o eliminada en versiones futuras.
Fuerza a que la reproducción se considere como una transmisión.
PlaybackType PLAYBACK_TYPE_SAMPLE = 2
Experimental: Esta constante podría ser modificada o eliminada en versiones futuras.
Fuerza a que la reproducción se considere una muestra. Esto puede proporcionar una latencia más baja y una reproducción más estable (con menor riesgo de crujidos de audio), a costa de una menor flexibilidad.
Nota: Actualmente solo es compatible con la plataforma web.
Nota: Los efectos de audio no son compatibles cuando la reproducción se considera una muestra.
PlaybackType PLAYBACK_TYPE_MAX = 3
Experimental: Esta constante podría ser modificada o eliminada en versiones futuras.
Representa el tamaño del enum PlaybackType.
Descripciones de Propiedades
Número de buses de audio disponibles.
String input_device = "Default" 🔗
Nombre del dispositivo actual para la entrada de audio (ver get_input_device_list()). En sistemas con múltiples entradas de audio (como analógica, USB o HDMI), ésto se puede usar para seleccionar el dispositivo de entrada de audio. El valor "Default" grabará audio desde la entrada de audio predeterminada del sistema. Si se establece un nombre de dispositivo no válido, el valor se revertirá a "Default".
Nota: ProjectSettings.audio/driver/enable_input debe ser true para que la entrada de audio funcione. Véase también la descripción de esa configuración para advertencias relacionadas con permisos y ajustes de privacidad del sistema operativo.
String output_device = "Default" 🔗
Nombre del dispositivo actual para la salida de audio (ver get_output_device_list()). En sistemas con múltiples salidas de audio (como analógica, USB o HDMI), ésto se puede usar para seleccionar el dispositivo de salida de audio. El valor "Default" reproducirá audio a través de la salida de audio predeterminada del sistema. Si se establece un nombre de dispositivo no válido, el valor se revertirá a "Default".
float playback_speed_scale = 1.0 🔗
Scales the rate at which audio is played (i.e. setting it to 0.5 will make the audio be played at half its speed). See also Engine.time_scale to affect the general simulation speed, which is independent from playback_speed_scale.
Descripciones de Métodos
void add_bus(at_position: int = -1) 🔗
Agrega un bus en at_position.
void add_bus_effect(bus_idx: int, effect: AudioEffect, at_position: int = -1) 🔗
Agrega un efecto AudioEffect al bus bus_idx en at_position.
AudioBusLayout generate_bus_layout() const 🔗
Genera un AudioBusLayout usando los buses y efectos disponibles.
int get_bus_channels(bus_idx: int) const 🔗
Devuelve el número de canales del bus en el índice bus_idx.
AudioEffect get_bus_effect(bus_idx: int, effect_idx: int) 🔗
Devuelve el AudioEffect en la posición effect_idx en el bus bus_idx.
int get_bus_effect_count(bus_idx: int) 🔗
Devuelve el número de efectos en el bus en bus_idx.
AudioEffectInstance get_bus_effect_instance(bus_idx: int, effect_idx: int, channel: int = 0) 🔗
Devuelve la AudioEffectInstance asignada al bus dado y los indices de efecto (y opcionalmente el canal).
int get_bus_index(bus_name: StringName) const 🔗
Devuelve el índice del bus con el nombre bus_name. Devuelve -1 si no existe ningún bus con el nombre especificado.
String get_bus_name(bus_idx: int) const 🔗
Devuelve el nombre del bus con el índice bus_idx.
float get_bus_peak_volume_left_db(bus_idx: int, channel: int) const 🔗
Devuelve el volumen máximo del altavoz izquierdo en el índice de bus bus_idx y el índice de canal channel.
float get_bus_peak_volume_right_db(bus_idx: int, channel: int) const 🔗
Devuelve el volumen máximo del altavoz derecho en el índice de bus bus_idx y el índice de canal channel.
StringName get_bus_send(bus_idx: int) const 🔗
Devuelve el nombre del bus al que envía el bus en el índice bus_idx.
float get_bus_volume_db(bus_idx: int) const 🔗
Devuelve el volumen del bus en el índice bus_idx en dB.
float get_bus_volume_linear(bus_idx: int) const 🔗
Devuelve el volumen del bus en el índice bus_idx como un valor lineal.
Nota: El valor devuelto es equivalente al resultado del método @GlobalScope.db_to_linear sobre el resultado del método get_bus_volume_db.
String get_driver_name() const 🔗
Devuelve el nombre del controlador de audio actual. El valor predeterminado suele depender del sistema operativo, pero puede sobrescribirse mediante el argumento de línea de comandos --audio-driver Tutorial de línea de comandos. --headless también establece automáticamente el controlador de audio como Dummy. Véase también ProjectSettings.audio/driver/driver.
int get_input_buffer_length_frames() 🔗
Experimental: Este método podría ser modificado o eliminado en versiones futuras.
Devuelve el tamaño absoluto del búfer de entrada del micrófono. Este valor se establece como un múltiplo de la latencia de audio y puede usarse para estimar la tasa mínima a la que se deben obtener los cuadros (frames).
PackedStringArray get_input_device_list() 🔗
Devuelve los nombres de todos los dispositivos de entrada de audio detectados en el sistema.
Nota: El valor de ProjectSettings.audio/driver/enable_input debe ser true para que la entrada de audio funcione. Véase también la descripción de esta configuración para conocer las advertencias relacionadas con los permisos y la configuración de privacidad del sistema operativo.
PackedVector2Array get_input_frames(frames: int) 🔗
Experimental: Este método podría ser modificado o eliminado en versiones futuras.
Devuelve un PackedVector2Array que contiene exactamente frames muestras de audio del búfer interno del micrófono, si está disponible. De lo contrario, devuelve un PackedVector2Array vacío.
El búfer se llena a una tasa de get_input_mix_rate() cuadros por segundo cuando set_input_device_active() se ha configurado correctamente en true.
Las muestras son valores PCM de punto flotante con signo entre -1 y 1.
int get_input_frames_available() 🔗
Experimental: Este método podría ser modificado o eliminado en versiones futuras.
Returns the number of frames available to read using get_input_frames().
float get_input_mix_rate() const 🔗
Devuelve la frecuencia de muestreo en la entrada del AudioServer.
Devuelve la frecuencia de muestreo a la salida del AudioServer.
PackedStringArray get_output_device_list() 🔗
Devuelve los nombres de todos los dispositivos de salida de audio detectados en el sistema.
float get_output_latency() const 🔗
Devuelve la latencia de salida efectiva del controlador de audio. Esto se basa en ProjectSettings.audio/driver/output_latency, pero el valor exacto devuelto varía según el sistema operativo y el controlador de audio.
Nota: Esto puede ser costoso; no se recomienda llamar al método get_output_latency() en cada fotograma.
SpeakerMode get_speaker_mode() const 🔗
Devuelve la configuración de los altavoces.
float get_time_since_last_mix() const 🔗
Returns the relative time since the last mix occurred, in seconds.
float get_time_to_next_mix() const 🔗
Returns the relative time until the next mix occurs, in seconds.
bool is_bus_bypassing_effects(bus_idx: int) const 🔗
Si es true, el bus en el índice bus_idx está omitiendo los efectos.
bool is_bus_effect_enabled(bus_idx: int, effect_idx: int) const 🔗
Si es true, se habilita el efecto en el índice effect_idx en el bus en el índice bus_idx.
bool is_bus_mute(bus_idx: int) const 🔗
Si es true, el bus en el índice bus_idx se silencia.
bool is_bus_solo(bus_idx: int) const 🔗
Si es true, el bus en el índice bus_idx está en modo solo.
bool is_stream_registered_as_sample(stream: AudioStream) 🔗
Experimental: Este método podría ser modificado o eliminado en versiones futuras.
Si es true, la transmisión se registra como muestra. El motor no tendrá que registrarla antes de reproducirla.
Si es false, la transmisión deberá registrarse antes de reproducirla. Para evitar picos de retardo, registra la transmisión como muestra con register_stream_as_sample().
void lock() 🔗
Bloquea el bucle principal del controlador de audio.
Nota: Recuerda desbloquearlo después.
void move_bus(index: int, to_index: int) 🔗
Mueve el bus del índice index al índice to_index.
void register_stream_as_sample(stream: AudioStream) 🔗
Experimental: Este método podría ser modificado o eliminado en versiones futuras.
Fuerza el registro de una secuencia como muestra.
Nota: Pueden producirse picos de retardo al llamar a este método, especialmente en compilaciones de un solo subproceso. Se recomienda llamar a este método durante la carga de recursos, donde el pico de retardo podría quedar oculto, en lugar de registrar la muestra justo antes de su reproducción.
Elimina el bus en el índice index.
void remove_bus_effect(bus_idx: int, effect_idx: int) 🔗
Elimina el efecto en el índice effect_idx del bus en el índice bus_idx.
void set_bus_bypass_effects(bus_idx: int, enable: bool) 🔗
Si es true, el bus en el índice bus_idx está omitiendo los efectos.
void set_bus_effect_enabled(bus_idx: int, effect_idx: int, enabled: bool) 🔗
Si es true, se habilita el efecto en el índice effect_idx en el bus en el índice bus_idx.
void set_bus_layout(bus_layout: AudioBusLayout) 🔗
Sobrescribe el AudioBusLayout actualmente utilizado.
void set_bus_mute(bus_idx: int, enable: bool) 🔗
Si es true, el bus en el índice bus_idx se silencia.
void set_bus_name(bus_idx: int, name: String) 🔗
Establece el nombre del bus en el índice bus_idx en name.
void set_bus_send(bus_idx: int, send: StringName) 🔗
Conecta la salida del bus en bus_idx al bus llamado send.
void set_bus_solo(bus_idx: int, enable: bool) 🔗
Si es true, el bus en el índice bus_idx está en modo solo.
void set_bus_volume_db(bus_idx: int, volume_db: float) 🔗
Establece el volumen en decibeles del bus en el índice bus_idx a volume_db.
void set_bus_volume_linear(bus_idx: int, volume_linear: float) 🔗
Establece el volumen como un valor lineal del bus en el índice bus_idx a volume_linear.
Nota: Usar este método equivale a llamar a set_bus_volume_db() con el resultado de @GlobalScope.linear_to_db() en un valor.
void set_enable_tagging_used_audio_streams(enable: bool) 🔗
Si se establece como true, todas las instancias de AudioStreamPlayback llamarán a AudioStreamPlayback._tag_used_streams() en cada paso de la mezcla.
Nota: Esta opción está habilitada de forma predeterminada en el editor, ya que la utilizan los plugins del editor para las vistas previas de las transmisiones de audio.
Error set_input_device_active(active: bool) 🔗
Experimental: Este método podría ser modificado o eliminado en versiones futuras.
Si active es true, inicia el flujo de entrada del micrófono especificado por input_device o devuelve un error si falla.
Si active es false, detiene el flujo de entrada si está en ejecución.
void swap_bus_effects(bus_idx: int, effect_idx: int, by_effect_idx: int) 🔗
Intercambia la posición de dos efectos en el bus bus_idx.
void unlock() 🔗
Desbloquea el bucle principal del controlador de audio. (Después de cerrarlo, siempre debes abrirlo.)