:github_url: hide .. _class_AudioServer: AudioServer =========== **Hereda:** :ref:`Object` Interfaz de servidor para acceso de audio de bajo nivel. .. rst-class:: classref-introduction-group 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. .. rst-class:: classref-introduction-group Tutoriales -------------------- - :doc:`Buses de audio <../tutorials/audio/audio_buses>` - `Demo del Cambiador de Dispositivos de Audio `__ - `Demo de Grabación de Audio con Micrófono `__ - `Demo de Visualizador de Espectro de Audio `__ .. rst-class:: classref-reftable-group Propiedades ---------------------- .. table:: :widths: auto +-----------------------------+------------------------------------------------------------------------------+---------------+ | :ref:`int` | :ref:`bus_count` | ``1`` | +-----------------------------+------------------------------------------------------------------------------+---------------+ | :ref:`String` | :ref:`input_device` | ``"Default"`` | +-----------------------------+------------------------------------------------------------------------------+---------------+ | :ref:`String` | :ref:`output_device` | ``"Default"`` | +-----------------------------+------------------------------------------------------------------------------+---------------+ | :ref:`float` | :ref:`playback_speed_scale` | ``1.0`` | +-----------------------------+------------------------------------------------------------------------------+---------------+ .. rst-class:: classref-reftable-group Métodos -------------- .. table:: :widths: auto +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_bus`\ (\ at_position\: :ref:`int` = -1\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_bus_effect`\ (\ bus_idx\: :ref:`int`, effect\: :ref:`AudioEffect`, at_position\: :ref:`int` = -1\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AudioBusLayout` | :ref:`generate_bus_layout`\ (\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_bus_channels`\ (\ bus_idx\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AudioEffect` | :ref:`get_bus_effect`\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_bus_effect_count`\ (\ bus_idx\: :ref:`int`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AudioEffectInstance` | :ref:`get_bus_effect_instance`\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`, channel\: :ref:`int` = 0\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_bus_index`\ (\ bus_name\: :ref:`StringName`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_bus_name`\ (\ bus_idx\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_bus_peak_volume_left_db`\ (\ bus_idx\: :ref:`int`, channel\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_bus_peak_volume_right_db`\ (\ bus_idx\: :ref:`int`, channel\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_bus_send`\ (\ bus_idx\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_bus_volume_db`\ (\ bus_idx\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_bus_volume_linear`\ (\ bus_idx\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_driver_name`\ (\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_input_buffer_length_frames`\ (\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_input_device_list`\ (\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedVector2Array` | :ref:`get_input_frames`\ (\ frames\: :ref:`int`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_input_frames_available`\ (\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_input_mix_rate`\ (\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_mix_rate`\ (\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_output_device_list`\ (\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_output_latency`\ (\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`SpeakerMode` | :ref:`get_speaker_mode`\ (\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_time_since_last_mix`\ (\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_time_to_next_mix`\ (\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_bus_bypassing_effects`\ (\ bus_idx\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_bus_effect_enabled`\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_bus_mute`\ (\ bus_idx\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_bus_solo`\ (\ bus_idx\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_stream_registered_as_sample`\ (\ stream\: :ref:`AudioStream`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`lock`\ (\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`move_bus`\ (\ index\: :ref:`int`, to_index\: :ref:`int`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`register_stream_as_sample`\ (\ stream\: :ref:`AudioStream`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_bus`\ (\ index\: :ref:`int`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_bus_effect`\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bus_bypass_effects`\ (\ bus_idx\: :ref:`int`, enable\: :ref:`bool`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bus_effect_enabled`\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`, enabled\: :ref:`bool`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bus_layout`\ (\ bus_layout\: :ref:`AudioBusLayout`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bus_mute`\ (\ bus_idx\: :ref:`int`, enable\: :ref:`bool`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bus_name`\ (\ bus_idx\: :ref:`int`, name\: :ref:`String`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bus_send`\ (\ bus_idx\: :ref:`int`, send\: :ref:`StringName`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bus_solo`\ (\ bus_idx\: :ref:`int`, enable\: :ref:`bool`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bus_volume_db`\ (\ bus_idx\: :ref:`int`, volume_db\: :ref:`float`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_bus_volume_linear`\ (\ bus_idx\: :ref:`int`, volume_linear\: :ref:`float`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_enable_tagging_used_audio_streams`\ (\ enable\: :ref:`bool`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`set_input_device_active`\ (\ active\: :ref:`bool`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`swap_bus_effects`\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`, by_effect_idx\: :ref:`int`\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`unlock`\ (\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Señales -------------- .. _class_AudioServer_signal_bus_layout_changed: .. rst-class:: classref-signal **bus_layout_changed**\ (\ ) :ref:`🔗` Emitida cuando se agrega, elimina o mueve un bus de audio. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_signal_bus_renamed: .. rst-class:: classref-signal **bus_renamed**\ (\ bus_index\: :ref:`int`, old_name\: :ref:`StringName`, new_name\: :ref:`StringName`\ ) :ref:`🔗` Emitida cuando el bus de audio en ``bus_index`` cambia de nombre de ``old_name`` a ``new_name``. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Enumeraciones -------------------------- .. _enum_AudioServer_SpeakerMode: .. rst-class:: classref-enumeration enum **SpeakerMode**: :ref:`🔗` .. _class_AudioServer_constant_SPEAKER_MODE_STEREO: .. rst-class:: classref-enumeration-constant :ref:`SpeakerMode` **SPEAKER_MODE_STEREO** = ``0`` Se detectaron dos o menos altavoces. .. _class_AudioServer_constant_SPEAKER_SURROUND_31: .. rst-class:: classref-enumeration-constant :ref:`SpeakerMode` **SPEAKER_SURROUND_31** = ``1`` Se detectó una configuración de sonido envolvente de 3.1 canales. .. _class_AudioServer_constant_SPEAKER_SURROUND_51: .. rst-class:: classref-enumeration-constant :ref:`SpeakerMode` **SPEAKER_SURROUND_51** = ``2`` Se detectó una configuración de sonido envolvente de 5.1 canales. .. _class_AudioServer_constant_SPEAKER_SURROUND_71: .. rst-class:: classref-enumeration-constant :ref:`SpeakerMode` **SPEAKER_SURROUND_71** = ``3`` Se detectó una configuración de sonido envolvente de 7.1 canales. .. rst-class:: classref-item-separator ---- .. _enum_AudioServer_PlaybackType: .. rst-class:: classref-enumeration enum **PlaybackType**: :ref:`🔗` .. _class_AudioServer_constant_PLAYBACK_TYPE_DEFAULT: .. rst-class:: classref-enumeration-constant :ref:`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 :ref:`ProjectSettings.audio/general/default_playback_type`. .. _class_AudioServer_constant_PLAYBACK_TYPE_STREAM: .. rst-class:: classref-enumeration-constant :ref:`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. .. _class_AudioServer_constant_PLAYBACK_TYPE_SAMPLE: .. rst-class:: classref-enumeration-constant :ref:`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. .. _class_AudioServer_constant_PLAYBACK_TYPE_MAX: .. rst-class:: classref-enumeration-constant :ref:`PlaybackType` **PLAYBACK_TYPE_MAX** = ``3`` **Experimental:** Esta constante podría ser modificada o eliminada en versiones futuras. Representa el tamaño del enum :ref:`PlaybackType`. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descripciones de Propiedades -------------------------------------------------------- .. _class_AudioServer_property_bus_count: .. rst-class:: classref-property :ref:`int` **bus_count** = ``1`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_bus_count**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_bus_count**\ (\ ) Número de buses de audio disponibles. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_property_input_device: .. rst-class:: classref-property :ref:`String` **input_device** = ``"Default"`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_input_device**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_input_device**\ (\ ) Name of the current device for audio input (see :ref:`get_input_device_list()`). On systems with multiple audio inputs (such as analog, USB and HDMI audio), this can be used to select the audio input device. The value ``"Default"`` will record audio on the system-wide default audio input. If an invalid device name is set, the value will be reverted back to ``"Default"``. \ **Note:** :ref:`ProjectSettings.audio/driver/enable_input` must be ``true`` for audio input to work. See also that setting's description for caveats related to permissions and operating system privacy settings. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_property_output_device: .. rst-class:: classref-property :ref:`String` **output_device** = ``"Default"`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_output_device**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_output_device**\ (\ ) Name of the current device for audio output (see :ref:`get_output_device_list()`). On systems with multiple audio outputs (such as analog, USB and HDMI audio), this can be used to select the audio output device. The value ``"Default"`` will play audio on the system-wide default audio output. If an invalid device name is set, the value will be reverted back to ``"Default"``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_property_playback_speed_scale: .. rst-class:: classref-property :ref:`float` **playback_speed_scale** = ``1.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_playback_speed_scale**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_playback_speed_scale**\ (\ ) 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 :ref:`Engine.time_scale` to affect the general simulation speed, which is independent from :ref:`playback_speed_scale`. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descripciones de Métodos ------------------------------------------------ .. _class_AudioServer_method_add_bus: .. rst-class:: classref-method |void| **add_bus**\ (\ at_position\: :ref:`int` = -1\ ) :ref:`🔗` Agrega un bus en ``at_position``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_add_bus_effect: .. rst-class:: classref-method |void| **add_bus_effect**\ (\ bus_idx\: :ref:`int`, effect\: :ref:`AudioEffect`, at_position\: :ref:`int` = -1\ ) :ref:`🔗` Agrega un efecto :ref:`AudioEffect` al bus ``bus_idx`` en ``at_position``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_generate_bus_layout: .. rst-class:: classref-method :ref:`AudioBusLayout` **generate_bus_layout**\ (\ ) |const| :ref:`🔗` Genera un :ref:`AudioBusLayout` usando los buses y efectos disponibles. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_bus_channels: .. rst-class:: classref-method :ref:`int` **get_bus_channels**\ (\ bus_idx\: :ref:`int`\ ) |const| :ref:`🔗` Devuelve el número de canales del bus en el índice ``bus_idx``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_bus_effect: .. rst-class:: classref-method :ref:`AudioEffect` **get_bus_effect**\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`\ ) :ref:`🔗` Devuelve el :ref:`AudioEffect` en la posición ``effect_idx`` en el bus ``bus_idx``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_bus_effect_count: .. rst-class:: classref-method :ref:`int` **get_bus_effect_count**\ (\ bus_idx\: :ref:`int`\ ) :ref:`🔗` Devuelve el número de efectos en el bus en ``bus_idx``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_bus_effect_instance: .. rst-class:: classref-method :ref:`AudioEffectInstance` **get_bus_effect_instance**\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`, channel\: :ref:`int` = 0\ ) :ref:`🔗` Devuelve la :ref:`AudioEffectInstance` asignada al bus dado y los indices de efecto (y opcionalmente el canal). .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_bus_index: .. rst-class:: classref-method :ref:`int` **get_bus_index**\ (\ bus_name\: :ref:`StringName`\ ) |const| :ref:`🔗` Devuelve el índice del bus con el nombre ``bus_name``. Devuelve ``-1`` si no existe ningún bus con el nombre especificado. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_bus_name: .. rst-class:: classref-method :ref:`String` **get_bus_name**\ (\ bus_idx\: :ref:`int`\ ) |const| :ref:`🔗` Devuelve el nombre del bus con el índice ``bus_idx``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_bus_peak_volume_left_db: .. rst-class:: classref-method :ref:`float` **get_bus_peak_volume_left_db**\ (\ bus_idx\: :ref:`int`, channel\: :ref:`int`\ ) |const| :ref:`🔗` Devuelve el volumen máximo del altavoz izquierdo en el índice de bus ``bus_idx`` y el índice de canal ``channel``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_bus_peak_volume_right_db: .. rst-class:: classref-method :ref:`float` **get_bus_peak_volume_right_db**\ (\ bus_idx\: :ref:`int`, channel\: :ref:`int`\ ) |const| :ref:`🔗` Devuelve el volumen máximo del altavoz derecho en el índice de bus ``bus_idx`` y el índice de canal ``channel``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_bus_send: .. rst-class:: classref-method :ref:`StringName` **get_bus_send**\ (\ bus_idx\: :ref:`int`\ ) |const| :ref:`🔗` Devuelve el nombre del bus al que envía el bus en el índice ``bus_idx``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_bus_volume_db: .. rst-class:: classref-method :ref:`float` **get_bus_volume_db**\ (\ bus_idx\: :ref:`int`\ ) |const| :ref:`🔗` Devuelve el volumen del bus en el índice ``bus_idx`` en dB. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_bus_volume_linear: .. rst-class:: classref-method :ref:`float` **get_bus_volume_linear**\ (\ bus_idx\: :ref:`int`\ ) |const| :ref:`🔗` 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. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_driver_name: .. rst-class:: classref-method :ref:`String` **get_driver_name**\ (\ ) |const| :ref:`🔗` 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`` :doc:`../tutorials/editor/command_line_tutorial`. ``--headless`` también establece automáticamente el controlador de audio como ``Dummy``. Véase también :ref:`ProjectSettings.audio/driver/driver`. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_input_buffer_length_frames: .. rst-class:: classref-method :ref:`int` **get_input_buffer_length_frames**\ (\ ) :ref:`🔗` **Experimental:** Este método podría ser modificado o eliminado en versiones futuras. Returns the absolute size of the microphone input buffer. This is set to a multiple of the audio latency and can be used to estimate the minimum rate at which the frames need to be fetched. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_input_device_list: .. rst-class:: classref-method :ref:`PackedStringArray` **get_input_device_list**\ (\ ) :ref:`🔗` Devuelve los nombres de todos los dispositivos de entrada de audio detectados en el sistema. \ **Nota:** El valor de :ref:`ProjectSettings.audio/driver/enable_input` debe ser ``true`` para que la entrada de audio funcione. Consulta 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. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_input_frames: .. rst-class:: classref-method :ref:`PackedVector2Array` **get_input_frames**\ (\ frames\: :ref:`int`\ ) :ref:`🔗` **Experimental:** Este método podría ser modificado o eliminado en versiones futuras. Returns a :ref:`PackedVector2Array` containing exactly ``frames`` audio samples from the internal microphone buffer if available, otherwise returns an empty :ref:`PackedVector2Array`. The buffer is filled at the rate of :ref:`get_input_mix_rate()` frames per second when :ref:`set_input_device_active()` has successfully been set to ``true``. The samples are signed floating-point PCM values between ``-1`` and ``1``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_input_frames_available: .. rst-class:: classref-method :ref:`int` **get_input_frames_available**\ (\ ) :ref:`🔗` **Experimental:** Este método podría ser modificado o eliminado en versiones futuras. Returns the number of frames available to read using :ref:`get_input_frames()`. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_input_mix_rate: .. rst-class:: classref-method :ref:`float` **get_input_mix_rate**\ (\ ) |const| :ref:`🔗` Devuelve la frecuencia de muestreo en la entrada del **AudioServer**. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_mix_rate: .. rst-class:: classref-method :ref:`float` **get_mix_rate**\ (\ ) |const| :ref:`🔗` Devuelve la frecuencia de muestreo a la salida del **AudioServer**. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_output_device_list: .. rst-class:: classref-method :ref:`PackedStringArray` **get_output_device_list**\ (\ ) :ref:`🔗` Devuelve los nombres de todos los dispositivos de salida de audio detectados en el sistema. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_output_latency: .. rst-class:: classref-method :ref:`float` **get_output_latency**\ (\ ) |const| :ref:`🔗` Devuelve la latencia de salida efectiva del controlador de audio. Esto se basa en :ref:`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 :ref:`get_output_latency()` en cada fotograma. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_speaker_mode: .. rst-class:: classref-method :ref:`SpeakerMode` **get_speaker_mode**\ (\ ) |const| :ref:`🔗` Devuelve la configuración de los altavoces. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_time_since_last_mix: .. rst-class:: classref-method :ref:`float` **get_time_since_last_mix**\ (\ ) |const| :ref:`🔗` Devuelve el tiempo relativo desde que se produjo la última mezcla. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_get_time_to_next_mix: .. rst-class:: classref-method :ref:`float` **get_time_to_next_mix**\ (\ ) |const| :ref:`🔗` Devuelve el tiempo relativo hasta que se produce la siguiente mezcla. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_is_bus_bypassing_effects: .. rst-class:: classref-method :ref:`bool` **is_bus_bypassing_effects**\ (\ bus_idx\: :ref:`int`\ ) |const| :ref:`🔗` Si es ``true``, el bus en el índice ``bus_idx`` está omitiendo los efectos. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_is_bus_effect_enabled: .. rst-class:: classref-method :ref:`bool` **is_bus_effect_enabled**\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`\ ) |const| :ref:`🔗` Si es ``true``, se habilita el efecto en el índice ``effect_idx`` en el bus en el índice ``bus_idx``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_is_bus_mute: .. rst-class:: classref-method :ref:`bool` **is_bus_mute**\ (\ bus_idx\: :ref:`int`\ ) |const| :ref:`🔗` Si es ``true``, el bus en el índice ``bus_idx`` se silencia. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_is_bus_solo: .. rst-class:: classref-method :ref:`bool` **is_bus_solo**\ (\ bus_idx\: :ref:`int`\ ) |const| :ref:`🔗` Si es ``true``, el bus en el índice ``bus_idx`` está en modo solo. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_is_stream_registered_as_sample: .. rst-class:: classref-method :ref:`bool` **is_stream_registered_as_sample**\ (\ stream\: :ref:`AudioStream`\ ) :ref:`🔗` **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 :ref:`register_stream_as_sample()`. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_lock: .. rst-class:: classref-method |void| **lock**\ (\ ) :ref:`🔗` Bloquea el bucle principal del controlador de audio. \ **Nota:** Recuerda desbloquearlo después. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_move_bus: .. rst-class:: classref-method |void| **move_bus**\ (\ index\: :ref:`int`, to_index\: :ref:`int`\ ) :ref:`🔗` Mueve el bus del índice ``index`` al índice ``to_index``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_register_stream_as_sample: .. rst-class:: classref-method |void| **register_stream_as_sample**\ (\ stream\: :ref:`AudioStream`\ ) :ref:`🔗` **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. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_remove_bus: .. rst-class:: classref-method |void| **remove_bus**\ (\ index\: :ref:`int`\ ) :ref:`🔗` Elimina el bus en el índice ``index``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_remove_bus_effect: .. rst-class:: classref-method |void| **remove_bus_effect**\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`\ ) :ref:`🔗` Elimina el efecto en el índice ``effect_idx`` del bus en el índice ``bus_idx``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_set_bus_bypass_effects: .. rst-class:: classref-method |void| **set_bus_bypass_effects**\ (\ bus_idx\: :ref:`int`, enable\: :ref:`bool`\ ) :ref:`🔗` Si es ``true``, el bus en el índice ``bus_idx`` está omitiendo los efectos. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_set_bus_effect_enabled: .. rst-class:: classref-method |void| **set_bus_effect_enabled**\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`, enabled\: :ref:`bool`\ ) :ref:`🔗` Si es ``true``, se habilita el efecto en el índice ``effect_idx`` en el bus en el índice ``bus_idx``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_set_bus_layout: .. rst-class:: classref-method |void| **set_bus_layout**\ (\ bus_layout\: :ref:`AudioBusLayout`\ ) :ref:`🔗` Sobrescribe el :ref:`AudioBusLayout` actualmente utilizado. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_set_bus_mute: .. rst-class:: classref-method |void| **set_bus_mute**\ (\ bus_idx\: :ref:`int`, enable\: :ref:`bool`\ ) :ref:`🔗` Si es ``true``, el bus en el índice ``bus_idx`` se silencia. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_set_bus_name: .. rst-class:: classref-method |void| **set_bus_name**\ (\ bus_idx\: :ref:`int`, name\: :ref:`String`\ ) :ref:`🔗` Establece el nombre del bus en el índice ``bus_idx`` en ``name``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_set_bus_send: .. rst-class:: classref-method |void| **set_bus_send**\ (\ bus_idx\: :ref:`int`, send\: :ref:`StringName`\ ) :ref:`🔗` Conecta la salida del bus en ``bus_idx`` al bus llamado ``send``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_set_bus_solo: .. rst-class:: classref-method |void| **set_bus_solo**\ (\ bus_idx\: :ref:`int`, enable\: :ref:`bool`\ ) :ref:`🔗` Si es ``true``, el bus en el índice ``bus_idx`` está en modo solo. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_set_bus_volume_db: .. rst-class:: classref-method |void| **set_bus_volume_db**\ (\ bus_idx\: :ref:`int`, volume_db\: :ref:`float`\ ) :ref:`🔗` Establece el volumen en decibeles del bus en el índice ``bus_idx`` a ``volume_db``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_set_bus_volume_linear: .. rst-class:: classref-method |void| **set_bus_volume_linear**\ (\ bus_idx\: :ref:`int`, volume_linear\: :ref:`float`\ ) :ref:`🔗` 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 :ref:`set_bus_volume_db()` con el resultado de :ref:`@GlobalScope.linear_to_db()` en un valor. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_set_enable_tagging_used_audio_streams: .. rst-class:: classref-method |void| **set_enable_tagging_used_audio_streams**\ (\ enable\: :ref:`bool`\ ) :ref:`🔗` Si se establece como ``true``, todas las instancias de :ref:`AudioStreamPlayback` llamarán a :ref:`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. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_set_input_device_active: .. rst-class:: classref-method :ref:`Error` **set_input_device_active**\ (\ active\: :ref:`bool`\ ) :ref:`🔗` **Experimental:** Este método podría ser modificado o eliminado en versiones futuras. If ``active`` is ``true``, starts the microphone input stream specified by :ref:`input_device` or returns an error if it failed. If ``active`` is ``false``, stops the input stream if it is running. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_swap_bus_effects: .. rst-class:: classref-method |void| **swap_bus_effects**\ (\ bus_idx\: :ref:`int`, effect_idx\: :ref:`int`, by_effect_idx\: :ref:`int`\ ) :ref:`🔗` Intercambia la posición de dos efectos en el bus ``bus_idx``. .. rst-class:: classref-item-separator ---- .. _class_AudioServer_method_unlock: .. rst-class:: classref-method |void| **unlock**\ (\ ) :ref:`🔗` Desbloquea el bucle principal del controlador de audio. (Después de cerrarlo, siempre debes abrirlo.) .. |virtual| replace:: :abbr:`virtual (Normalmente, este método debería ser sobreescrito por el usuario para que tenga algún efecto.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Este método no tiene efectos secundarios. No modifica ninguna de las variables miembro de la instancia.)` .. |vararg| replace:: :abbr:`vararg (Este método permite agregar cualquier número de argumentos después de los descritos aquí.)` .. |constructor| replace:: :abbr:`constructor (Este método se utiliza para construir un tipo.)` .. |static| replace:: :abbr:`static (Este método no necesita una instancia para ser llamado, por lo que puede llamarse directamente utilizando el nombre de la clase.)` .. |operator| replace:: :abbr:`operator (Este método describe un operador válido para usar con este tipo como operando izquierdo.)` .. |bitfield| replace:: :abbr:`BitField (Este valor es un entero compuesto como una máscara de bits de las siguientes banderas.)` .. |void| replace:: :abbr:`void (Sin valor de retorno.)`