Документация Engee

Внутренние компоненты

struct PortAudio.Buffer{Sample}

PortAudio.Buffer содержит все необходимое для считывания данных из PortAudio и их записи. Поле data содержит необработанные данные буфера. Для записи данных в PortAudio используйте PortAudio.write_buffer, а для их считывания из PortAudio — PortAudio.read_buffer!.

Messenger{Sample, Scribe, Input, Output}

Структура struct с элементами.

  • device_name::String

  • buffer::Buffer{Sample}

  • scribe::Scribe

  • input_channel::Channel{Input}

  • output_channel::Channel{Output} Средство обмена сообщениями отправляет задачи средству записи, которое считывает данные из буфера или записывает их в буфер.

struct PortAudio.SampledSignalsReader

Объект PortAudio.Scribe, который использует пакет SampledSignals для управления считыванием данных из PortAudio.

struct PortAudio.SampledSignalsReader

Объект PortAudio.Scribe, который использует пакет SampledSignals для управления записью данных в PortAudio.

abstract type PortAudio.Scribe end

Средство записи должно реализовывать следующие методы:

Этот метод должен возвращать выходные данные типа вывода. Этот метод должен использовать PortAudio.read_buffer! и PortAudio.write_buffer.

PortAudio.get_input_type(scribe::PortAudio.Scribe, Sample)

Возвращает тип ввода PortAudio.Scribe для сэмплов типа Sample.

PortAudio.get_input_type(scribe::PortAudio.Scribe, Sample)

Возвращает тип вывода PortAudio.Scribe для сэмплов типа Sample.

PortAudio.read_buffer!(buffer::Buffer, use_frames = buffer.frames_per_buffer; acquire_lock = true)

Считайте определенное количество фреймов (use_frames) из PortAudio в PortAudio.Buffer.

Чтобы пропустить получение acquire*lock, задайте acquire*lock = false.

PortAudio.write_buffer(buffer, use_frames = buffer.frames_per_buffer; acquire_lock = true)

Записывает определенное количество фреймов (use_frames) из PortAudio.Buffer в PortAudio.

Чтобы пропустить получение блокировки, задайте acquire_lock = false.