WaveStream to Byte Array in NAudio?

本文关键字:NAudio in Array to Byte WaveStream | 更新日期: 2023-09-27 17:55:17

如何使用NAudio将WaveStream转换为字节数组?

WaveStream to Byte Array in NAudio?

public static class StreamExtension
{
    public static byte[] ToArray(this Stream stream)
    {
        byte[] buffer = new byte[4096];
        int reader = 0;
        MemoryStream memoryStream = new MemoryStream();
        while ((reader = stream.Read(buffer, 0, buffer.Length)) != 0)
            memoryStream.Write(buffer, 0, reader);
        return memoryStream.ToArray();
    }
}

你可以尝试这个愿景,应该为你工作,试试吧

  MemoryStream memoryStr = new MemoryStream();
            while ((read = stream.Read(buffer, 0, buffer.Length)) != 0)
                memoryStr.Write(buffer, 0, read );

你把它当作System.IO.Stream来使用它。使用读取方法。但请记住。如果将整个流转换为一个Bytearray可能会导致并OutOfMemoryException。这取决于溪流有多大。但是你可以使用这样的东西:

byte[] buffer = new byte[stream.Length];
int read = stream.Read(buffer, 0, buffer.Length);