Einzelnen Beitrag anzeigen

Paul0703

Registriert seit: 24. Sep 2008
Ort: Halle(Saale)
138 Beiträge
 
Delphi 7 Professional
 
#1

einfache Visualisierung mit bass.dll ??

  Alt 23. Nov 2008, 21:19
Hallo,
ich habe ein Problem mit der Visualisierung von Sounddateien mit der bass.dll.
Und zwar benutze ich eine PaintBox, um die Töne darzustellen.
Delphi-Quellcode:
 data := BassdllPlayer1.GetFFTData;
    for i := 0 to 255 do Data[i] := Data[i] * ln(i + 1) * 5 * Paintbox1.ClientHeight;
    for i := 0 to 255 do
      begin
        Paintbox1.Canvas.pen.color := clYellow;
        Paintbox1.Canvas.MoveTo(i, Paintbox1.height);
        Paintbox1.Canvas.lineTo(i, Paintbox1.height - round(Data[i]) - 2);
      end;
So, jetzt habe ich aber das Problem, dass in der PaintBox zwar alles korrekt gezeichnet wird, aber das alte nicht gelöscht wird. Also der zeichnet immer mehr Striche, bis alles nur noch gelb ist.
Und wenn ich es folgendermaßen mache, dann flackert das Bild!
Delphi-Quellcode:
 data := BassdllPlayer1.GetFFTData;
    for i := 0 to 255 do Data[i] := Data[i] * ln(i + 1) * 5 * Paintbox1.ClientHeight;
    for i := 0 to 255 do
      begin
        PaintBox1.Canvas.FillRect(Form1.PaintBox1.ClientRect);
           // diese zeile löscht den bildschirm zwar, aber dadurch flackert es!!
        Paintbox1.Canvas.pen.color := clYellow;
        Paintbox1.Canvas.MoveTo(i, Paintbox1.height);
        Paintbox1.Canvas.lineTo(i, Paintbox1.height - round(Data[i]) - 2);
      end;
Vielleicht hat jemand eine Idee, wie ich das lösen kann.
Gruß Paul
  Mit Zitat antworten Zitat