如何从 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 的信息:
- http://www-mmsp.ece.mcgill.ca/documents/audioformats/wave/wave.html
- http://soundfile.sapp.org/doc/WaveFormat/
希望对您有所帮助。 :-)
我有一个包含波形文件的内存流。
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 的信息:
- http://www-mmsp.ece.mcgill.ca/documents/audioformats/wave/wave.html
- http://soundfile.sapp.org/doc/WaveFormat/
希望对您有所帮助。 :-)