Registriert seit: 1. Aug 2007
Ort: Melsungen
155 Beiträge
Delphi 7 Professional
|
Re: FFT + Bassdllplayer
22. Mai 2008, 23:27
also, ich habe das array so
TFFTData = array[0..2048] of Single;
geändert.
danach die function so:
Delphi-Quellcode:
function TBassPlayer.getfftdata: TFFTData;
begin
if status <> sndPLAYING then
exit;
if (BASS_ChannelGetData(Channel, @Result, BASS_DATA_FFT4096) = 2048) = False then
begin
ZeroMemory(@Result, SizeOf(Result));
end;
end;
und meine unit so
Delphi-Quellcode:
data := BassdllPlayer1.GetFFTData;
Image1.Canvas.Pen.Width:=1;
for i := 0 to 2048 do
Data[i] := Data[i] * ln(i + 1) * (Image1.Height)*2;
for i := 0 to 2048 do
begin
Image1.Canvas.pen.color := RGB(255- i, i, i);
Image1.Canvas.MoveTo(i+25, Image1.height-5);
Image1.Canvas.LineTo(i+25, (Image1.height-5) - round(Data[i]) );
end;
Wo genau ich den Fehler bekomme, kann ich dir nicht sagen, ich poste unten aber mal die Fehlermeldung. Es öffnet sich außerdem das CPU Fenster.
Gruß Masteric
"Programmieren ist eine der universellsten, allübergreifendsten und höchsten von Menschen erreichten Formen der Kreativität."
Nur weil Gott die Welt in 6 Tagen erschaffen hat, heisst das nicht, dass Informatiker alles in 6 Tagen programmieren können.
|