在C ++中读取和处理WAV文件

时间:2018-11-16 22:59:33

标签: c++ audio

我正在尝试编写一个简单的程序来读取C ++中的WAV文件并获取诸如采样率和位深之类的数据。在某些时候,我想用它来处理数据以创建音频插件,但是我想首先理解这一点。

#include <iostream>
#include <string>
#include <fstream>
#include <ostream>
using namespace std;

struct wavfile {
    char   id[4];
    int    totallength;
    char   wavefmt[8];
    int    format;
    short  pcm;
    short  channels;
    int    frequency;
    int    bytes_per_second;
    short  bytes_by_capture;
    short  bits_per_sample;
    char   data[4];
    int    bytes_in_data;
};

int main () {
    FILE * wfile;
    std::ofstream ofs;
    wfile = ofs.open("tes.wav",std::ofstream::binary | std::ofstream::app); // line 31

    ofs.close();

return 0;
}

当我尝试运行它时,它总是说“从不兼容类型'void'分配给'FILE *'(aka'__sFILE *')”

如何获取它以打开wave文件,读取数据,以便可以将其定义为struct wavfile中的一个并打印回去?

任何帮助都将不胜感激,即使只是将我指向正确的方向或指向一个好的资源。预先感谢!

0 个答案:

没有答案