Files
godot-docs-l10n/classes/uk/class_audioeffectcapture.rst

192 lines
11 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_AudioEffectCapture:
AudioEffectCapture
==================
**Успадковує:** :ref:`AudioEffect<class_AudioEffect>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Захоплює аудіо з аудіошини в реальному часі.
.. rst-class:: classref-introduction-group
Опис
--------
AudioEffectCapture — це AudioEffect, який копіює всі аудіокадри з приєднаної шини аудіоефектів у внутрішній кільцевий буфер.
Код програми повинен споживати ці аудіокадри з цього кільцевого буфера за допомогою :ref:`get_buffer()<class_AudioEffectCapture_method_get_buffer>` і обробляти його за потреби, наприклад, щоб захопити дані з :ref:`AudioStreamMicrophone<class_AudioStreamMicrophone>`, реалізувати визначені програмою ефекти або передавати аудіо через мережу. Під час захоплення аудіоданих із мікрофона формат зразків буде стереофонічним 32-розрядним PCM із плаваючою комою.
На відміну від :ref:`AudioEffectRecord<class_AudioEffectRecord>`, цей ефект повертає лише необроблені зразки звуку, а не кодує їх у :ref:`AudioStream<class_AudioStream>`.
.. rst-class:: classref-introduction-group
Посібники
------------------
- :doc:`Звукові шини <../tutorials/audio/audio_buses>`
.. rst-class:: classref-reftable-group
Властивості
----------------------
.. table::
:widths: auto
+---------------------------+-----------------------------------------------------------------------+---------+
| :ref:`float<class_float>` | :ref:`buffer_length<class_AudioEffectCapture_property_buffer_length>` | ``0.1`` |
+---------------------------+-----------------------------------------------------------------------+---------+
.. rst-class:: classref-reftable-group
Методи
------------
.. 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
Описи властивостей
------------------------------------
.. _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**\ (\ )
Довжина внутрішнього кільцевого буфера, у секундах. Встановлення довжини буфера не матиме ефекту, якщо вже ініціалізовано.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описи методів
--------------------------
.. _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>`
Повертає ``true``, якщо принаймні ``frames`` аудіокадри доступні для читання у внутрішньому кільцевому буфері.
.. rst-class:: classref-item-separator
----
.. _class_AudioEffectCapture_method_clear_buffer:
.. rst-class:: classref-method
|void| **clear_buffer**\ (\ ) :ref:`🔗<class_AudioEffectCapture_method_clear_buffer>`
Очищає внутрішній кільцевий буфер.
\ **Примітка:** Виклик цього під час захоплення може спричинити втрату семплів, що спричинить вискакування під час відтворення.
.. 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>`
Отримує наступні ``frames`` зразки звуку з внутрішнього кільцевого буфера.
Повертає :ref:`PackedVector2Array<class_PackedVector2Array>`, що містить саме ``frames`` аудіо зразки, якщо доступно, або порожній :ref:`PackedVector2Array<class_PackedVector2Array>`, якщо доступних даних недостатньо.
Зразки мають знак PCM із плаваючою комою між ``-1`` і ``1``. Вам доведеться масштабувати їх, якщо ви хочете використовувати їх як 8- або 16-розрядні цілі зразки. (``v = 0x7fff * зразки[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>`
Повертає загальний розмір внутрішнього кільцевого буфера в кадрах.
.. 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>`
Повертає кількість звукових кадрів, відкинутих із звукової шини через заповнення буфера.
.. 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>`
Повертає кількість кадрів, доступних для читання за допомогою :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>`
Повертає кількість звукових кадрів, вставлених із звукової шини.
.. |virtual| replace:: :abbr:`virtual (Зазвичай, цей метод перевизначається користувачем, щоб він мав вплив.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Цей метод не має побічних ефектів. Не змінює ніяку змінну екземпляра об'єкта.)`
.. |vararg| replace:: :abbr:`vararg (Цей метод приймає будь-яке число аргументів після описаних тут.)`
.. |constructor| replace:: :abbr:`constructor (Цей метод використовується для побудови типів.)`
.. |static| replace:: :abbr:`static (Цей метод не потребує екземпляра для виклику, його можна викликати безпосередньо за допомогою назви класу.)`
.. |operator| replace:: :abbr:`operator (Цей метод описує дійсний оператор для взаємодії з цим типом як з лівим операндом.)`
.. |bitfield| replace:: :abbr:`BitField (Це значення є цілим числом, складеним у вигляді бітової маски з наступних прапорів.)`
.. |void| replace:: :abbr:`void (Значення не повертається.)`