我已經在Stackoverflow和谷歌搜索,但還沒有找到我在找什麼。
到目前爲止,我得到了音頻原始數據(WAV文件),並且想要將其可視化。使用C#顯示音頻波形
private void Form1_Load(object sender, EventArgs e)
{
FileStream fs = new FileStream("D:\\tada.wav", FileMode.Open);
BinaryReader reader = new BinaryReader(fs);
char[] data = new char[4];
long fsize;
long wfxSize;
long dataSize;
WaveFormatEx wfx;
//RIFF
reader.Read(data, 0, 4);
fsize = reader.ReadInt32();
//WAVE
reader.Read(data, 0, 4);
//FMT
reader.Read(data, 0, 4);
wfxSize = reader.ReadInt32();
byte[] wfxBuffer = new byte[wfxSize];
reader.Read(wfxBuffer, 0, (int)wfxSize);
wfx = new WaveFormatEx(wfxBuffer);
//DATA
reader.Read(data, 0, 4);
dataSize = reader.ReadInt32();
byte[] dataBuff = new byte[dataSize];
reader.Read(dataBuff, 0, (int)dataSize);
reader.Close();
//Visualize the data...
}
我知道我需要將原始數據轉換成樣品,然後檢查每個樣品的峯和畫線,但我真的不知道該怎麼做(除了圖)。
作爲Gigasoft的創始人,我們有一個解決方案可以簡化這種需求,並提供示例代碼來播放和繪製wav數據,就像adobe audition或nero wave editor一樣。請參閱我們的小型18meg v8 [c#圖表演示](http://www.gigasoft.com)並查看演示示例123.下載內容還包括WPF和MFC exes以及源代碼以顯示必要的學習曲線。這個例子不依賴於依賴的庫,並顯示可視化和播放wav的最小代碼。 – Robert 2014-06-14 17:10:50