如何从 MemoryStream 中存储的 Wav 中获取 Header 信息?

How to Get Header Info from Wav Stored in MemoryStream?

我有一个包含波形文件的内存流。

wav可以这样播放:

var soundPlayer = new System.Media.SoundPlayer();
soundPlayer.Stream = stream;
soundPlayer.Play();

如何从流中提取比特率、采样率、通道等?

header 大小大约为 36 个字节。 所以你可以创建一个缓冲区并像这样读取它

byte[] headers = byte[36];
memorystream.Position = 0;
memorystream.Read(headers,0,headers.Length);
/** doing your meta data extraction **/
 String mode;
 if(headers[22] ==  1)
    mode = "mono";
 else if(headers[22] == 2)
    mode = "stereo";
 else 
    mode = "unknown";
/*************************************/
memorystream.Position = 0;

检查以下链接以获取 header 的信息:

希望对您有所帮助。 :-)