Table of Contents

Class AsioDuplexOptions

Namespace
NAudio.Wave
Assembly
NAudio.Asio.dll

Options for configuring an AsioDevice in duplex mode via InitDuplex(AsioDuplexOptions). Duplex mode runs a user-supplied AsioProcessCallback that reads input and writes output in a single buffer-switch callback.

public sealed class AsioDuplexOptions
Inheritance
AsioDuplexOptions
Inherited Members

Properties

BufferSize

Requested ASIO buffer size in frames. If null, uses the driver's preferred buffer size.

public int? BufferSize { get; init; }

Property Value

int?

InputChannels

Physical input channel indices. May be non-contiguous. The processor callback addresses them via GetInput(int) using zero-based indices into this array. Optional — leave null or empty for an output-only session, where the callback writes per-channel output via GetOutput(int) with no capture side and InputChannelCount is 0.

public int[] InputChannels { get; init; }

Property Value

int[]

OutputChannels

Physical output channel indices. May be non-contiguous. The processor callback writes to them via GetOutput(int) using zero-based indices into this array. Outputs not written by the callback are zeroed by the library before native-format conversion.

public int[] OutputChannels { get; init; }

Property Value

int[]

Processor

User-supplied processing callback. Required. Runs on the ASIO driver's real-time thread — see the remarks on AsioProcessCallback for constraints.

public AsioProcessCallback Processor { get; init; }

Property Value

AsioProcessCallback

SampleRate

Desired sample rate in Hz. If null, uses the driver's current sample rate (CurrentSampleRate).

public int? SampleRate { get; init; }

Property Value

int?