C# 使用C显示音频波形#

C# 使用C显示音频波形#,c#,audio,waveform,C#,Audio,Waveform,我已经在Stackoverflow和google上搜索过了,但还没有找到我要找的东西。 到目前为止,我得到了音频原始数据(WAV文件),我想可视化它 private void Form1_Load(object sender, EventArgs e) { FileStream fs = new FileStream("D:\\tada.wav", FileMode.Open); BinaryReader reader = new Bina

我已经在Stackoverflow和google上搜索过了,但还没有找到我要找的东西。
到目前为止,我得到了音频原始数据(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...
    }

我知道我需要将原始数据转换为样本,然后检查每个样本的峰值并绘制线条,但我真的不知道如何做(绘图除外)。

将数据可视化。。哇!你应该检查一下这个问题,然后再想想这是否是你真正想要解决的问题。(第二个链接实际上是一个更好、更精简的概述。请查看数据部分,看看您是否希望使用它。)

别误会我。也许这正是你想要做的,而且可能很有趣。你应该知道你在干什么


此外,这里有一个你可以直接使用或查看的想法。

我知道这是一个老问题,但如果有人感兴趣,这里有一个解决方案:

使用NAudio库:

以下是关于如何使用NAudio显示波形的视频教程:

我所说的“可视化数据”是指显示基于放大器的简单波形,而不是三维可视化。。。无论如何,这个代码项目组件真的很有用,谢谢。3个链接中的2个不是validAs Gigasoft创始人,我们有一个解决方案可以简化这一需求,并提供示例代码来播放和绘制wav数据,就像adobe audition或nero wave editor一样。请参阅我们的小型18meg v8,并查看演示示例123。下载内容还包括WPF和MFC EXE以及显示必要学习曲线的源代码。此示例不依赖于依赖库,并显示了可视化和播放wav的最少代码。