如何从存储在MemoryStream中的Wav获取标题信息?

时间:2015-11-14 11:26:29

标签: c# save wav

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

wav可以这样播放:

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

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

1 个答案:

答案 0 :(得分:1)

标题大小约为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;

检查以下链接以获取标题信息:

希望它有所帮助。 : - )