Во-первых, я пытаюсь сделать это без каких-либо проприетарных библиотек, чтобы он был более портативным, и я получаю лучшее/ручное понимание того, что здесь происходит. Я хорошо пишу свои собственные классы и библиотеки для обработки повторяющихся функций (разбор заголовков и т. Д.).Получить кадры и образцы wav-файла
Так мне интересно, как можно было бы прочитать WAV/RIFF файл через поток для того, чтобы можно вычислить информацию об указанном аудиофайл (т.е. длина аудио в файле, сколько образцов сколько кадров и т. д.). а затем повторить эти кадры или образцы для других функций.
Я знаю, что он будет читать его в виде двоичного файла через fstream
и разрешать заголовок (и получать некоторую информацию из заголовка), как указано в RIFF specs, но как распознать байты для кадров или выборок и что до длины?
Я могу найти проблемы, связанные с этим на других языках, но не видел ничего связанного с ним в C++.
, хотя этот подход действительно, вы должны учитывать, работаете ли вы на 32- или 64-разрядной машине. фактическая длина 'int' и' short' зависит от архитектуры машины, а длина частей заголовка wav - нет. следовательно, этот код может работать на 32-битной архитектуре, но не на 64 (или наоборот). – lCapp