Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Prism FFT + Bassdllplayer (https://www.delphipraxis.net/114246-fft-bassdllplayer.html)

Masteric 22. Mai 2008 22:35

Re: FFT + Bassdllplayer
 
es ist die zeile:
Delphi-Quellcode:
 Data[i] := Data[i] * ln(i + 1) * (Image1.Height)*2;

omata 22. Mai 2008 23:28

Re: FFT + Bassdllplayer
 
Entferne mal bitte dieses unsinnige exit.

Delphi-Quellcode:
function TBassPlayer.getfftdata: TFFTData;
begin
  if status = sndPLAYING then begin
    if not (BASS_ChannelGetData(Channel, @Result, BASS_DATA_FFT4096) = 2048) then
      ZeroMemory(@Result, SizeOf(Result));
  end
  else ZeroMemory(@Result, SizeOf(Result));
end;

Masteric 22. Mai 2008 23:45

Re: FFT + Bassdllplayer
 
funktionieren tut es leider immer noch nicht :(

omata 22. Mai 2008 23:56

Re: FFT + Bassdllplayer
 
Was heisst funktioniert nicht? Kommt immer noch eine Access Violation oder bekommst du keine Ausgabe?

Masteric 23. Mai 2008 00:29

Re: FFT + Bassdllplayer
 
ich bekomme das CPU Fenster mit dem Fehler den ich oben schon gepostet habe.

Medium 23. Mai 2008 01:55

Re: FFT + Bassdllplayer
 
Welchen Wert hat i zu dem Zeitpunkt wo der Fehler auftritt?

Und am Rande: Dein Array ist 2049 Elemente groß. Eins zu viel.

Edit:
Die Funktion zum Zeichnen ist im Übrigen auch nicht das gelbe vom Ei. Sie macht 2 Schleifen, wo nur eine nötig wäre, in der man einiges gut zusammenfassen kann.

Delphi-Quellcode:
var
  temp: Integer;
begin
  data := BassdllPlayer1.GetFFTData;
  Image1.Canvas.Pen.Width:=1;
  temp := Image1.Height-5;

  for i := 0 to 255 do
  begin
    Image1.Canvas.pen.color := RGB(255- i, i, i);
    Image1.Canvas.MoveTo(i+25, temp);
    Image1.Canvas.LineTo(i+25, temp - round(Data[i] * ln(i+1) * (temp+5) * 2));
  end;
end;
Achte darauf, dass dein i nacher nicht nur bis 255 geht. Ohne anpassen der Zeichenoperationen wird es ein sehr breites Bild, wenn nicht schon RGB() zerbröselt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz