naudio / NAudio

Audio and MIDI library for .NET

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WaveBuffer BufferCount is always zero

GundlackFlorian opened this issue · comments

Hello,

I noticed that when i'm using WaveBuffer the [Type]BufferCount is always zero, i guess this isn't normal.

    private void WasapiCaptureOnDataAvailable( object? sender, WaveInEventArgs e )
    {
        var waveBuffer = new WaveBuffer( e.Buffer );
        Trace.WriteLine( $"BytesRecorded: {e.BytesRecorded}" );
        Trace.WriteLine( $"FloatBufferCount: {waveBuffer.FloatBufferCount}" );
        Trace.WriteLine( $"ByteBufferCount: {waveBuffer.ByteBufferCount}" );
    }

My output:

...
BytesRecorded: 21168
FloatBufferCount: 0
ByteBufferCount: 0
BytesRecorded: 17640
FloatBufferCount: 0
ByteBufferCount: 0
BytesRecorded: 21168
FloatBufferCount: 0
ByteBufferCount: 0
BytesRecorded: 17640
FloatBufferCount: 0
ByteBufferCount: 0
...

I'm using
NAudio 2.2.1
.net 7.0
C# 11.0

Ok if i set the number of bytes it works

    private void WasapiCaptureOnDataAvailable( object? sender, WaveInEventArgs e )
    {
        Trace.WriteLine( $"{e.BytesRecorded}" );
        var waveBuffer = new WaveBuffer( e.Buffer )
        {
            numberOfBytes = e.BytesRecorded
        };
        Trace.WriteLine($"{waveBuffer.FloatBufferCount}");
    }

Little bit weird that it can't be set in the ctor and that it is not specified in the doc/samples.