Я пытаюсь загрузить WAV-файл в приложение C++
Программа продолжает печатать неверный WAV-файл с кодом завершения 5. Это означает, что программа не думал, что chunkID соответствует WAVE или RIFF.
как это исправить?
вот что в настоящее время у меня в коде
класс WAV_Decoder отвечает за загрузку файла, затем обработку
заголовка WAV и затем сохранение файла в массиве, который я могу позже использовать в приложении, но проблема в том, что файл WAV обрабатывается как недопустимый формат
хотя файл WAV не поврежден и без проблем воспроизводится на моем устройстве с помощью медиаплеера
WAV_Decoder .hpp
#pragma once
struct WAV_Header
{
char chunkID[4];
uint32_t chunkSize;
char format[4];
char subchunk1ID[4];
uint32_t subchunk1Size;
uint16_t audioFormat;
uint16_t numChannels;
uint32_t sampleRate;
uint32_t byteRate;
uint16_t blockAlign;
uint16_t bitsPerSample;
char subchunk2ID[4];
uint32_t subchunk2Size;
};
class WAV_Decoder
{
private:
public:
WAV_Decoder() = default;
void LoadWav(std::string filename);
std::vector& getAudioBuffer();
private:
std::vector audio_buffer;
WAV_Header wav_header;
};
WAV_Decoder.cpp
#include
#include
#include
#include "TTS/WAV_Decoder.hpp"
void WAV_Decoder::LoadWav(std::string filename)
{
std::ifstream file(filename.c_str(), std::ios::binary);
if (!file)
{
std::cerr
Подробнее здесь: https://stackoverflow.com/questions/782 ... ve-or-riff
Почему он не может обнаружить WAVE или RIFF? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение