0% found this document useful (0 votes)
15 views5 pages

Class Audioeffectcapture - RST

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views5 pages

Class Audioeffectcapture - RST

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

:github_url: hide

.. DO NOT EDIT THIS FILE!!!


.. Generated automatically from Godot engine sources.
.. Generator:
https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
.. XML source:
https://github.com/godotengine/godot/tree/master/doc/classes/AudioEffectCapture.xml
.

.. _class_AudioEffectCapture:

AudioEffectCapture
==================

**Inherits:** :ref:`AudioEffect<class_AudioEffect>`
**<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>`
**<** :ref:`Object<class_Object>`

Captures audio from an audio bus in real-time.

.. rst-class:: classref-introduction-group

Description
-----------

AudioEffectCapture is an AudioEffect which copies all audio frames from the


attached audio effect bus into its internal ring buffer.

Application code should consume these audio frames from this ring buffer
using :ref:`get_buffer<class_AudioEffectCapture_method_get_buffer>` and process it
as needed, for example to capture data from
an :ref:`AudioStreamMicrophone<class_AudioStreamMicrophone>`, implement
application-defined effects, or to transmit audio over the network. When capturing
audio data from a microphone, the format of the samples will be stereo 32-bit
floating-point PCM.

Unlike :ref:`AudioEffectRecord<class_AudioEffectRecord>`, this effect only returns


the raw audio samples instead of encoding them into
an :ref:`AudioStream<class_AudioStream>`.

.. rst-class:: classref-introduction-group

Tutorials
---------

- :doc:`Audio buses <../tutorials/audio/audio_buses>`

.. rst-class:: classref-reftable-group

Properties
----------

.. table::
:widths: auto

+---------------------------
+-----------------------------------------------------------------------+---------+
| :ref:`float<class_float>`
| :ref:`buffer_length<class_AudioEffectCapture_property_buffer_length>` | ``0.1`` |
+---------------------------
+-----------------------------------------------------------------------+---------+

.. rst-class:: classref-reftable-group

Methods
-------

.. 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

Property Descriptions
---------------------

.. _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**\ (\ )

Length of the internal ring buffer, in seconds. Setting the buffer length will have
no effect if already initialized.

.. rst-class:: classref-section-separator

----

.. rst-class:: classref-descriptions-group

Method Descriptions
-------------------

.. _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>`

Returns ``true`` if at least ``frames`` audio frames are available to read in the
internal ring buffer.

.. 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_buffe
r>`

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 (This method should typically be overridden


by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't
modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments
after the ones described here.)`
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a
type.)`
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be
called, so it can be called directly using the class name.)`
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to
use with this type as left-hand operand.)`
.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a
bitmask of the following flags.)`
.. |void| replace:: :abbr:`void (No return value.)`

You might also like