Einzelnen Beitrag anzeigen

Killerregenwurm

Registriert seit: 10. Feb 2008
Ort: Herten
13 Beiträge
 
Delphi 5 Professional
 
#3

Re: Amplitude und Frequenz durch BASS_ChannelGetData

  Alt 23. Feb 2008, 14:31
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
  Mit Zitat antworten Zitat