Table of Contents

Class MixingWaveProvider32

Namespace
NAudio.Wave
Assembly
NAudio.Core.dll

WaveProvider that can mix together multiple 32 bit floating point input provider All channels must have the same number of inputs and same sample rate n.b. Work in Progress - not tested yet

public class MixingWaveProvider32 : IWaveProvider
Inheritance
MixingWaveProvider32
Implements
Inherited Members
Extension Methods

Constructors

MixingWaveProvider32()

Creates a new MixingWaveProvider32

public MixingWaveProvider32()

MixingWaveProvider32(IEnumerable<IWaveProvider>)

Creates a new 32 bit MixingWaveProvider32

public MixingWaveProvider32(IEnumerable<IWaveProvider> inputs)

Parameters

inputs IEnumerable<IWaveProvider>

inputs - must all have the same format.

Exceptions

ArgumentException

Thrown if the input streams are not 32 bit floating point, or if they have different formats to each other

Properties

InputCount

The number of inputs to this mixer

public int InputCount { get; }

Property Value

int

WaveFormat

public WaveFormat WaveFormat { get; }

Property Value

WaveFormat

Methods

AddInputStream(IWaveProvider)

Add a new input to the mixer

public void AddInputStream(IWaveProvider waveProvider)

Parameters

waveProvider IWaveProvider

The wave input to add

Read(byte[], int, int)

Reads bytes from this wave stream

public int Read(byte[] buffer, int offset, int count)

Parameters

buffer byte[]

buffer to read into

offset int

offset into buffer

count int

number of bytes required

Returns

int

Number of bytes read.

Exceptions

ArgumentException

Thrown if an invalid number of bytes requested

RemoveInputStream(IWaveProvider)

Remove an input from the mixer

public void RemoveInputStream(IWaveProvider waveProvider)

Parameters

waveProvider IWaveProvider

waveProvider to remove