Einzelnen Beitrag anzeigen

sonicfire

Registriert seit: 17. Jan 2006
Ort: Berlin
58 Beiträge
 
#1

Problem mit WAV Länge/Header

  Alt 4. Aug 2006, 16:45
Hallo allerseits!

Es "geht sich um folgendes" *G* :

Ich haber hier also zwei WAV Audio-Puffer, einer wird mit Daten von einer WAV-Datei befüllt, der andere
dient der Modifikation (in diesem Fall das hin- und herkopieren):
WavEnd := High(Wavbuffer) div 2;
Delphi-Quellcode:
 
       begin
          WavAdd := High(Wavbuffer);
          setlength(TempWavbuffer, WavAdd+WavEnd);

          // copy the whole main buffer into temp buffer
          for i := Low(TempWavbuffer) to WavAdd do
          begin
                TempWavbuffer[i] := Wavbuffer[i];
          end;

          // append 50% of main buffer at end
          for i := Low(TempWavbuffer) to WavEnd do
          begin
                TempWavbuffer[WavAdd+i] := Wavbuffer[WavEnd+i];
          end;
       end
Ich versuche also , 50% Prozent (Offset ebenfalls 50%) vom Wavbuffer am Ende des
Temp-Buffers anzufügen. Erst kopiere ich den Inhalt vom eigentlichen Wavbuffer komplett in den
TempWavBuffer. Zuvor habe ich die Größe so gesetzt das er den gesamten Wavbuffer + 50% von sich selbst extra
speichern kann.

Nur habe ich das dumpfe Gefühl das dies so noch nicht ganz richtig ist. Das kopieren SCHEINT zu
funktionieren, aber dazwischen gibts Knackser und Lücken, oder es crashed.
Nun bin ich mir auch nicht sicher, ob das nicht evtl.mit dem WAV-Header zusammenhängt, bei dem
ich anschließend die Größe der DataBytes verändert habe:
(Damits auch korrekt ausgelesen wird)
Header.DataBytes := Header.DataBytes + Header.DataBytes div 2; Könnte es sein das ich hier irgendwie auf dem Holzweg bin?
  Mit Zitat antworten Zitat