如何使用 NAudio 将 WaveStream 转换为字节数组?
问问题
4444 次
3 回答
2
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();
}
}
于 2013-01-23T14:11:26.977 回答
1
你可以试试这个愿景,应该为你工作,试试看
MemoryStream memoryStr = new MemoryStream();
while ((read = stream.Read(buffer, 0, buffer.Length)) != 0)
memoryStr.Write(buffer, 0, read );
于 2013-01-23T14:25:29.997 回答
0
你像使用它一样使用它System.IO.Stream
。使用读取方法。但要记住。如果您将整个流转换为 ONE Bytearray
,它可能会导致和OutOfMemoryException
. 这取决于流有多大。但是你可以使用这样的东西:
byte[] buffer = new byte[stream.Length];
int read = stream.Read(buffer, 0, buffer.Length);
于 2013-01-23T14:07:10.567 回答