Class MixingWaveProvider32
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
WaveFormat
public WaveFormat WaveFormat { get; }
Property Value
Methods
AddInputStream(IWaveProvider)
Add a new input to the mixer
public void AddInputStream(IWaveProvider waveProvider)
Parameters
waveProvider
IWaveProviderThe wave input to add
Read(byte[], int, int)
Reads bytes from this wave stream
public int Read(byte[] buffer, int offset, int count)
Parameters
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
IWaveProviderwaveProvider to remove