mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
192 lines
11 KiB
ReStructuredText
192 lines
11 KiB
ReStructuredText
: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 (Значення не повертається.)`
|