Ich verwende diese library Proben einer Wave-Datei zu lesen, insbesondere this method:fread Ausfall mit WAVE-Datei
unsigned int ReadDoublesNI(double** samples, unsigned int offs, unsigned int nsamples, int nchdest = 0)
die Grv Kick Acoustic 01.wav
Datei kann ich öffnen here heruntergeladen werden.
Es scheint, die Datei korrekt mit diesem Code zu laden (Dateiattribute korrekt sind, wie m_bps
, m_nch
und size
):
WaveReader mWaveReader = WaveReader("D:\\Google Drive\\Samples\\Grv Kick Acoustic 01.wav");
const unsigned int size = mWaveReader.GetSize();
vector<double> samplesContainer(size);
double* mono[1] = { samplesContainer.data() };
mWaveReader.ReadDoublesNI(mono, 0, size, 0);
aber sobald es fread auf dem ReadDoublesNI erreicht, überspringt es bis zum Ende der Funktion, beendet die for-Anweisung und kehrt sofort zurück. Daher kann ich keine Beispiele aus der Datei lesen.
Wo liege ich falsch?
Was ist los, wenn man diese Art von Frage stellt? -2 und schließen 1? Ich habe auch alle Details angegeben. – markzzz
Aufruf von 'Open' aus dem' WaveReader'-Konstruktor macht Sie blind für jeden Fehler, der während der 'Open' aufgetreten sein könnte. Versuchen Sie, den Standardkonstruktor aufzurufen, gefolgt von einem expliziten 'Open'-Aufruf (und überprüfen Sie den Rückgabecode):' WaveReader mWaveReader = WaveReader(); std :: cout << mWaveReader.Open ("Ihre_Datei"); ' –
Es scheint das Problem zu beheben. Mach die Antwort und du wirst akzeptiert! – markzzz