Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
AudioEffectCapture
Успадковує: AudioEffect < Resource < RefCounted < Object
Виводить аудіофрагменти з аудіошини в режимі реального часу, щоб до них можна було отримати доступ як до даних.
Опис
Копіює всі аудіокадри, також відомі як «семпли» або «аудіосемпли», з підключеної аудіошини у свій внутрішній кільцевий буфер. Цей ефект не змінює аудіо. Може використовуватися для зберігання аудіоданих у реальному часі з метою подальшого відтворення, а також для створення аудіовізуалізацій у реальному часі, наприклад, у вигляді осцилограми.
Код програми повинен отримувати ці аудіокадри з цього кільцевого буфера за допомогою get_buffer() і обробляти їх за потреби, наприклад, для зчитування даних з AudioStreamMicrophone, реалізації ефектів, визначених програмою, або для передачі аудіо через мережу. Під час зчитування аудіоданих з мікрофона формат семплів буде стерео 32-бітним PCM з плаваючою комою.
На відміну від AudioEffectRecord, цей ефект повертає лише необроблені аудіовибірки, замість того, щоб кодувати їх у AudioStream.
Посібники
Властивості
|
Методи
can_get_buffer(frames: int) const |
|
void |
|
get_buffer(frames: int) |
|
get_buffer_length_frames() const |
|
get_discarded_frames() const |
|
get_frames_available() const |
|
get_pushed_frames() const |
Описи властивостей
Довжина внутрішнього кільцевого буфера, у секундах. Більші значення дозволяють зберігати дані довше, але вимагають більше пам’яті. Значення може бути в діапазоні від 0,01 до 10.
Примітка: Встановлення довжини буфера не матиме ефекту, якщо він уже ініціалізовано.
Описи методів
bool can_get_buffer(frames: int) const 🔗
Повертає true, якщо у внутрішньому кільцевому буфері доступно для зчитування щонайменше frames зразків.
void clear_buffer() 🔗
Очищає внутрішній кільцевий буфер.
Примітка: Виклик цього під час захоплення може спричинити втрату семплів, що спричинить вискакування під час відтворення.
PackedVector2Array get_buffer(frames: int) 🔗
Отримує наступні frames зразків із внутрішнього кільцевого буфера.
Повертає масив PackedVector2Array, що містить рівно frames зразків, якщо вони доступні, або порожній масив PackedVector2Array, якщо даних недостатньо.
Зразки є знаковими числами з плаваючою комою у форматі PCM у діапазоні від -1 до 1. Якщо ви хочете використовувати їх як 8- або 16-бітні цілочисельні зразки, вам доведеться масштабувати їх. (v = 0x7fff * samples[0].x)
int get_buffer_length_frames() const 🔗
Повертає загальний розмір внутрішнього кільцевого буфера у вигляді кількості зразків.
int get_discarded_frames() const 🔗
Повертає кількість зразків, відкинутих з аудіошини через переповнення буфера.
int get_frames_available() const 🔗
Повертає кількість зразків, доступних для зчитування за допомогою методу get_buffer().
int get_pushed_frames() const 🔗
Повертає кількість семплів, вставлених із аудіошини.