nahc langem tüfteln und rumprobieren bin ich endlich ein Stpck weiter:
Delphi-Quellcode:
procedure TmfMovinhead.btItunesClick(Sender: TObject);
var
ch:HMusic;
fft : array[1..256] of single;
n,i : integer;
begin
self.laItunetrackOut.caption := getCurrentTitle(iTunesApp);
BASS_ChannelGetData(ch,@fft,BASS_DATA_FFT512);
PaintBox1.Canvas.FillRect(rect(0, 0, paintbox1.width, paintbox1.height));
PaintBox1.Canvas.Pen.Color := clBlack;
for i := 1 to 256 do begin
n := round(fft[i]);
PaintBox1.Canvas.PenPos := point(i, 100);
PaintBox1.Canvas.LineTo(i, 100 - n);
self.Label3.Caption := self.Label3.Caption+ IntToStr(i) + ':' + intToStr(n) + ' ,';
end;
end;
dies habe ich auf grundlagen von dieser
Quelle erreicht.
der fft wird richtig belegt, nur kommt nach dem runden 0 als n raus und und nach dem zweiten Schleifendurchgang bricht das Programm ab und gibt an 'ungültige Gleitkommaoperation'
Kann es sein, dass ich den Channel falsch belegt habe? ich möchte den normalen ausgang überprüfen, auf dem Musik und so die Soundkarte verlässt.
Ich freue mich sehr über jede Antwort die mir hilft.
Grüße