AudioEffectCapture

Успадковує: AudioEffect < Resource < RefCounted < Object

Захоплює аудіо з аудіошини в реальному часі.

Опис

AudioEffectCapture — це AudioEffect, який копіює всі аудіокадри з приєднаної шини аудіоефектів у внутрішній кільцевий буфер.

Код програми повинен споживати ці аудіокадри з цього кільцевого буфера за допомогою get_buffer() і обробляти його за потреби, наприклад, щоб захопити дані з AudioStreamMicrophone, реалізувати визначені програмою ефекти або передавати аудіо через мережу. Під час захоплення аудіоданих із мікрофона формат зразків буде стереофонічним 32-розрядним PCM із плаваючою комою.

На відміну від AudioEffectRecord, цей ефект повертає лише необроблені зразки звуку, а не кодує їх у AudioStream.

Посібники

Властивості

float

buffer_length

0.1

Методи

bool

can_get_buffer(frames: int) const

void

clear_buffer()

PackedVector2Array

get_buffer(frames: int)

int

get_buffer_length_frames() const

int

get_discarded_frames() const

int

get_frames_available() const

int

get_pushed_frames() const


Описи властивостей

float buffer_length = 0.1 🔗

  • void set_buffer_length(value: float)

  • float get_buffer_length()

Довжина внутрішнього кільцевого буфера, у секундах. Встановлення довжини буфера не матиме ефекту, якщо вже ініціалізовано.


Описи методів

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 * зразки[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 🔗

Повертає кількість звукових кадрів, вставлених із звукової шини.