如何使用NAudio将WaveStream转换为字节数组?NAudio中的WaveStream到Byte数组?
1
A
回答
0
您使用它像一个System.IO.Stream
。 使用读取方法。但要记住。如果您将整个流转换为一个Bytearray
它可能会导致和OutOfMemoryException
。这取决于流的大小。但是,你可以使用这样的事情:
byte[] buffer = new byte[stream.Length];
int read = stream.Read(buffer, 0, buffer.Length);
1
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();
}
}
+0
这是正确的方法,但缓冲区大小应该可配置为精确的WaveStream块对齐的倍数。通常一次或两秒钟的音频大小可以阅读。 –
1
你可以试试这个愿景,应为你工作,尝试
MemoryStream memoryStr = new MemoryStream();
while ((read = stream.Read(buffer, 0, buffer.Length)) != 0)
memoryStr.Write(buffer, 0, read);
的
相关问题
- 1. NAudio WaveStream和多个通道
- 2. 如何将NAudio WaveStream写入内存流?
- 3. 追加到WaveStream
- 4. 保存byte []数组到MYSQL
- 5. BYTE * C#中的数组#
- 6. Byte数组
- 7. 分裂byte []数组
- 8. 将byte/int8数组元素复制到char数组中
- 9. 使用Tritonus AudioSystem:将PCM byte []数组转换为mp3 byte []数组
- 10. 函数返回BYTE数组
- 11. 使用NAudio操作Mp3作为数组使用NAudio
- 12. Play框架模型中的数组[Byte]
- 13. NAudio Mp3到WaveIn
- 14. 字符串byte []数组
- 15. byte []强类型数组?
- 16. 反向Convert.ToBase64String(byte []数组)
- 17. byte数组文本ScintillaNET
- 18. 如何将JSONArray中的字节复制到Byte数组
- 19. 将调整大小的位图加载到byte []数组中
- 20. 安卓相机byte []数组到二维数组
- 21. 数组<byte> ^在字典中
- 22. 如何在C++中将填充添加到BYTE数组中?
- 23. NAudio将字节数组转换为Wav
- 24. 从PCM样本创建WaveStream
- 25. 转换字节数组(byte [])到图像在Java中
- 26. byte []到Wicket中的iresourcestream
- 27. 如何编组托管代码中的子集byte []数组?
- 28. 将byte []数组转换为字节数
- 29. byte [] +元数据到json
- 30. 从android中传递byte []参数到soap.Net
可能重复[如何n音讯的WaveStream写入内存流?](http://stackoverflow.com/questions/11500222/how-to-write-naudio-wavestream-to-a-memory-stream) –