reckfellENGINE

AudioEffectCapture

Читает сырые стереокадры шины через кольцевой буфер.

На этой странице
class AudioEffectCaptureReckfellSharpНаследует AudioEffect

AudioEffectCapture копирует сигнал в кольцевой буфер без изменения звука. Один Vector2 содержит левый и правый float-сэмпл одного момента. Для чтения проверяйте доступное число кадров; GetBuffer() потребляет их.

Задайте BufferLength до создания экземпляра эффекта и регулярно читайте данные. Переполнение увеличивает GetDiscardedFrames(). Захват находится на своём месте в цепочке, до фейдера/mute данной шины; он не доказывает физический вывод на колонки.

Практический пример.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Конструкторы1

AudioEffectCaptureКонструктор
# AudioEffectCapture
C#
public AudioEffectCapture();

Свойства1

BufferLengthСвойство
# BufferLength
C#
public float BufferLength { get; set; }

Запрашиваемая длина буфера в секундах. Задайте до добавления эффекта на шину: буфер выделяется при первой инициализации, а изменение свойства не обещает изменить уже выделенную очередь. Не равно лимиту всей записи.

Методы9

CanGetBufferbool
# CanGetBuffer
C#
public bool CanGetBuffer(int frames);

Возвращает true, если во внутреннем кольцевом буфере доступно для чтения не менее frames сэмплов.

Параметры
ИмяТипПо умолчанию
framesint—
Возвращает bool
ClearBuffervoid
# ClearBuffer
C#
public void ClearBuffer();

Удаляет текущие непрочитанные кадры из очереди. Не очищает ваш список уже сохранённых кадров и не сбрасывает GetDiscardedFrames; для нового дубля выполните обе операции в своём коде.

GetBufferVector2[]
# GetBuffer
C#
public Vector2[] GetBuffer(int frames);

Читает и потребляет указанное число стереокадров PCM из очереди захвата. Вызывайте регулярно; это не бесконечное хранилище и не получение всего WAV одним вызовом.

Параметры
ИмяТипПо умолчанию
framesint—
frames

Число кадров, не байтов. Один Vector2 содержит левый и правый канал. Запрашивайте положительное доступное число и проверяйте результат.

Возвращает Vector2[]

Vector2[] считанных кадров. При недостатке данных или нулевом запросе массив пуст; неверный размер/неинициализированный буфер также сообщает ошибку.

GetBufferLengthfloat
# GetBufferLength
C#
public float GetBufferLength();
Возвращает float
GetBufferLengthFramesint
# GetBufferLengthFrames
C#
public int GetBufferLengthFrames();

Возвращает общий размер внутреннего кольцевого буфера в сэмплах.

Возвращает int
GetDiscardedFrameslong
# GetDiscardedFrames
C#
public long GetDiscardedFrames();

Читает накопленное число кадров, потерянных при переполнении буфера. Для каждой записи сохраняйте исходное значение и отслеживайте разницу. ClearBuffer не обнуляет этот счётчик.

Возвращает long

Накопленный int64-счётчик потерь. Рост во время записи означает, что непрерывность PCM нарушена.

GetFramesAvailableint
# GetFramesAvailable
C#
public int GetFramesAvailable();

Читает текущее число кадров, доступных для потребления. Добавьте эффект на шину до опроса: инициализация буфера происходит при создании экземпляра эффекта.

Возвращает int

Количество кадров, не байтов и не секунд. Это текущая очередь, а не общая длина уже собранной записи.

GetPushedFrameslong
# GetPushedFrames
C#
public long GetPushedFrames();

Возвращает количество сэмплов, записанных с аудиошины.

Возвращает long
SetBufferLengthvoid
# SetBufferLength
C#
public void SetBufferLength(float bufferLengthSeconds);
Параметры
ИмяТипПо умолчанию
bufferLengthSecondsfloat—
Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.