- var
- Form1: TForm1;
- sf1: Pointer;
- fft: PSingle;
- fftdesc: Single;
- acti: Boolean;
- fps, fpsc: Integer;
- implementation
- {$R *.dfm}
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- FSOUND_SetVolumeAbsolute(FSOUND_FREE,-50);
- sf1 := FSOUND_Stream_OpenFile('I:Music1.mp3',FSOUND_2D,FSOUND_Stream_GetLength(Self));
- FSOUND_Stream_Play(FSOUND_FREE,sf1);
- fft := FSOUND_DSP_GetSpectrum;
- acti := True;
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- FSOUND_Init(44100,32,0);
- FSOUND_DSP_SetActive(FSOUND_DSP_GetFFTUnit,True);
- end;
- procedure TForm1.ApplicationEvents1Idle(Sender: TObject;
- var Done: Boolean);
- begin
- Done := False;
- inc(fps);
- if acti then
- begin
- fftdesc := fft^ * 100000;
- end;
- GAuge1.Progress := TrunC(fftdesc);
- end;
- procedure TForm1.Timer1Timer(Sender: TObject);
- begin
- fpsc := fps;
- fps := 0;
- Form1.Caption := '[' + IntToStr(fpsc) + ' fps]';
- end;