Files
godot-docs-l10n/classes/es/class_audioeffectcapture.rst
2025-12-19 14:34:07 +01:00

192 lines
9.2 KiB
ReStructuredText

:github_url: hide
.. _class_AudioEffectCapture:
AudioEffectCapture
==================
**Hereda:** :ref:`AudioEffect<class_AudioEffect>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Captura el audio de un bus de audio en tiempo real.
.. rst-class:: classref-introduction-group
Descripción
----------------------
AudioEffectCapture es un AudioEffect que copia todos los fotogramas de audio del bus de efectos de audio adjunto en su búfer de anillo interno.
El código de la aplicación debe consumir estos fotogramas de audio de este búfer de anillo utilizando :ref:`get_buffer()<class_AudioEffectCapture_method_get_buffer>` y procesarlos según sea necesario, por ejemplo, para capturar datos de un :ref:`AudioStreamMicrophone<class_AudioStreamMicrophone>`, implementar efectos definidos por la aplicación o para transmitir audio a través de la red. Al capturar datos de audio de un micrófono, el formato de las muestras será PCM estéreo de punto flotante de 32 bits.
A diferencia de :ref:`AudioEffectRecord<class_AudioEffectRecord>`, este efecto solo devuelve las muestras de audio sin procesar en lugar de codificarlas en un :ref:`AudioStream<class_AudioStream>`.
.. rst-class:: classref-introduction-group
Tutoriales
--------------------
- :doc:`Buses de audio <../tutorials/audio/audio_buses>`
.. rst-class:: classref-reftable-group
Propiedades
----------------------
.. table::
:widths: auto
+---------------------------+-----------------------------------------------------------------------+---------+
| :ref:`float<class_float>` | :ref:`buffer_length<class_AudioEffectCapture_property_buffer_length>` | ``0.1`` |
+---------------------------+-----------------------------------------------------------------------+---------+
.. rst-class:: classref-reftable-group
Métodos
--------------
.. table::
:widths: auto
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`can_get_buffer<class_AudioEffectCapture_method_can_get_buffer>`\ (\ frames\: :ref:`int<class_int>`\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`clear_buffer<class_AudioEffectCapture_method_clear_buffer>`\ (\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`get_buffer<class_AudioEffectCapture_method_get_buffer>`\ (\ frames\: :ref:`int<class_int>`\ ) |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_buffer_length_frames<class_AudioEffectCapture_method_get_buffer_length_frames>`\ (\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_discarded_frames<class_AudioEffectCapture_method_get_discarded_frames>`\ (\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_frames_available<class_AudioEffectCapture_method_get_frames_available>`\ (\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_pushed_frames<class_AudioEffectCapture_method_get_pushed_frames>`\ (\ ) |const| |
+-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descripciones de Propiedades
--------------------------------------------------------
.. _class_AudioEffectCapture_property_buffer_length:
.. rst-class:: classref-property
:ref:`float<class_float>` **buffer_length** = ``0.1`` :ref:`🔗<class_AudioEffectCapture_property_buffer_length>`
.. rst-class:: classref-property-setget
- |void| **set_buffer_length**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_buffer_length**\ (\ )
Longitud del búfer de anillo interno, en segundos. Establecer la longitud del búfer no tendrá efecto si ya ha sido inicializado.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descripciones de Métodos
------------------------------------------------
.. _class_AudioEffectCapture_method_can_get_buffer:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **can_get_buffer**\ (\ frames\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_AudioEffectCapture_method_can_get_buffer>`
Devuelve ``true`` si al menos ``frames`` fotogramas de audio están disponibles para leer en el búfer de anillo interno.
.. rst-class:: classref-item-separator
----
.. _class_AudioEffectCapture_method_clear_buffer:
.. rst-class:: classref-method
|void| **clear_buffer**\ (\ ) :ref:`🔗<class_AudioEffectCapture_method_clear_buffer>`
Clears the internal ring buffer.
\ **Note:** Calling this during a capture can cause the loss of samples which causes popping in the playback.
.. rst-class:: classref-item-separator
----
.. _class_AudioEffectCapture_method_get_buffer:
.. rst-class:: classref-method
:ref:`PackedVector2Array<class_PackedVector2Array>` **get_buffer**\ (\ frames\: :ref:`int<class_int>`\ ) :ref:`🔗<class_AudioEffectCapture_method_get_buffer>`
Gets the next ``frames`` audio samples from the internal ring buffer.
Returns a :ref:`PackedVector2Array<class_PackedVector2Array>` containing exactly ``frames`` audio samples if available, or an empty :ref:`PackedVector2Array<class_PackedVector2Array>` if insufficient data was available.
The samples are signed floating-point PCM between ``-1`` and ``1``. You will have to scale them if you want to use them as 8 or 16-bit integer samples. (``v = 0x7fff * samples[0].x``)
.. rst-class:: classref-item-separator
----
.. _class_AudioEffectCapture_method_get_buffer_length_frames:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_buffer_length_frames**\ (\ ) |const| :ref:`🔗<class_AudioEffectCapture_method_get_buffer_length_frames>`
Returns the total size of the internal ring buffer in frames.
.. rst-class:: classref-item-separator
----
.. _class_AudioEffectCapture_method_get_discarded_frames:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_discarded_frames**\ (\ ) |const| :ref:`🔗<class_AudioEffectCapture_method_get_discarded_frames>`
Returns the number of audio frames discarded from the audio bus due to full buffer.
.. rst-class:: classref-item-separator
----
.. _class_AudioEffectCapture_method_get_frames_available:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_frames_available**\ (\ ) |const| :ref:`🔗<class_AudioEffectCapture_method_get_frames_available>`
Returns the number of frames available to read using :ref:`get_buffer()<class_AudioEffectCapture_method_get_buffer>`.
.. rst-class:: classref-item-separator
----
.. _class_AudioEffectCapture_method_get_pushed_frames:
.. rst-class:: classref-method
:ref:`int<class_int>` **get_pushed_frames**\ (\ ) |const| :ref:`🔗<class_AudioEffectCapture_method_get_pushed_frames>`
Returns the number of audio frames inserted from the audio bus.
.. |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.)`