Чтение и манипулирование WAV-файлом в C ++ - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь написать простую программу для чтения WAV-файла на C ++ и получения таких данных, как частота дискретизации и битовая глубина. В какой-то момент я хочу использовать это для манипулирования данными для создания аудио плагина, но сначала я хочу понять это.

#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;
}

Когда я пытаюсь запустить его, он продолжает говорить "присваивание 'FILE *' (он же '__sFILE *') из несовместимого типа 'void'"

Как мне заставить его открывать волновой файл, читать данные, чтобы я мог определить его как внутри struct wavfile и распечатать его обратно?

Любая помощь будет принята с благодарностью, даже если я просто укажу в правильном направлении или на хороший ресурс. Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...