我已经在Stackoverflow和谷歌搜索过,但还没找到我想要的东西.
到目前为止,我得到了音频原始数据(WAV文件),我想要将其可视化.
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...
}
Run Code Online (Sandbox Code Playgroud)
我知道我需要将原始数据转换为样本,然后检查每个样本的峰值并绘制线条,但我真的不知道该怎么做(除了绘图).
Jec*_*kov 11
我认为这是一个老问题,但万一有人对此感兴趣是一个解决方案:
使用NAudio库:http://naudio.codeplex.com/
以下是有关如何使用NAudio显示波形的视频教程:http://www.youtube.com/watch?v = ZnFoVuOVrUQ
| 归档时间: |
|
| 查看次数: |
24027 次 |
| 最近记录: |