AudioEffectCapture
Наследует: AudioEffect < Resource < RefCounted < Object
Захватывает звук с аудио-шины в режиме реального времени.
Описание
AudioEffectCapture — это AudioEffect, который копирует все аудио-кадры из подключенной шины аудио-эффектов в свой внутренний кольцевой буфер.
Код приложения должен потреблять эти аудио-кадры из этого кольцевого буфера с помощью get_buffer() и обрабатывать их по мере необходимости, например, для захвата данных из AudioStreamMicrophone, реализации эффектов, определяемых приложением, или для передачи звука по сети. При захвате аудиоданных с микрофона формат сэмплов будет стерео PCM 32-бит с плавающей точкой.
В отличие от 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 |
Описания свойств
Длина внутреннего кольцевого буфера в секундах. Установка длины буфера не даст никакого эффекта, если она уже инициализирована.
Описания метода
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 🔗
Возвращает количество аудиокадров, вставленных из аудиошины.