Hallo,
angesichts dessen, womit ich mich gerade rumschlage, ist das ein fast schon banales Problem.
Und zwar bin ich gerade dabei, in einer Funktion den Inhalt einer Wave-File für DirectSound auszulesen.
Dazu hab ich eine Funktion
Hinweis: WAVESTRUCT ist einfach nur der Wave-Header (samples/sekunde etc.)
In der loadWaveFile hol ich mir dann via new entsprechend Speicher auf den targetBuffer
Die Methode ruf ich dann in einer anderen Methode zum Erzeugen der SoundBuffer auf und übergebe ihr entsprechend einen unsigned char *waveBuffer; sowie einen unsigned long bufferSize;
Jedenfalls wird der Puffer in der loadWaveFile richtig angelegt und befüllt, aber beim zurückkehren in die SoundBuffer-Funktion steht der waveBuffer wieder auf NULL. Irgendwas überseh ich mit der Referenz in der Methodenübergabe, vermute ich, allerdings komm ich grad nicht drauf, was ich überseh.
Vielleicht hat ja jemand einen kleinen Tipp für mich.
Danke schon mal!
angesichts dessen, womit ich mich gerade rumschlage, ist das ein fast schon banales Problem.
Und zwar bin ich gerade dabei, in einer Funktion den Inhalt einer Wave-File für DirectSound auszulesen.
Dazu hab ich eine Funktion
Code:
loadWaveFile(LPSTR filepath, WAVESTRUCT &waveInfo, unsigned char *targetBuffer, unsigned long &bufferSize);
Hinweis: WAVESTRUCT ist einfach nur der Wave-Header (samples/sekunde etc.)
In der loadWaveFile hol ich mir dann via new entsprechend Speicher auf den targetBuffer
Code:
bufferSize = waveInfo.lengthDataBlock;
targetBuffer = new unsigned char[bufferSize];
... Fehlerhandling...
int count = fread(targetBuffer, 1, waveInfo.lengthDataBlock, wavefile); //wavefile ist ein FILE-Objekt zur Wave-Datei im System
Die Methode ruf ich dann in einer anderen Methode zum Erzeugen der SoundBuffer auf und übergebe ihr entsprechend einen unsigned char *waveBuffer; sowie einen unsigned long bufferSize;
Jedenfalls wird der Puffer in der loadWaveFile richtig angelegt und befüllt, aber beim zurückkehren in die SoundBuffer-Funktion steht der waveBuffer wieder auf NULL. Irgendwas überseh ich mit der Referenz in der Methodenübergabe, vermute ich, allerdings komm ich grad nicht drauf, was ich überseh.
Vielleicht hat ja jemand einen kleinen Tipp für mich.
Danke schon mal!