Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Mal wieder Bass.dll / Bassfx.dll (https://www.delphipraxis.net/201868-mal-wieder-bass-dll-bassfx-dll.html)

calibra301 5. Sep 2019 10:54

Mal wieder Bass.dll / Bassfx.dll
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

schon hunderte von male aufgetaucht die Frage aber irgendwie nie zu Ende gebracht....
Auch ich hab versucht mit der Bass.dll / Bassfx.dll die BPM eines Signals welches am LineIn liegt auszulesen.

Devicelist erstellen klappt super...
Delphi-Quellcode:
 i:=0;
  while BASS_RecordGetDeviceInfo(i,Info) do
  Begin
   Devicelistbox.Items.Add(PAnsichar(Info.name));
   Inc(i);
  end;
  if Devicelistbox.Items.Count>0 then Devicelistbox.ItemIndex:=0;
Devicelist Doubleclick schliesse proforma und öffnet dann das neue Device, klappt auch.
Hier auch der Callback BASS_FX_BPM_CallbackSet…

Delphi-Quellcode:
procedure TForm1.DevicelistboxDblClick(Sender: TObject);
begin
  BASS_RecordFree();
  Form1.BPM_Label.Caption:='-.-';

  if not BASS_RecordInit(Devicelistbox.ItemIndex) then
  begin
    form1.Caption:=('Cant initialize device');
    exit;
  end;

  Channel := BASS_RecordStart(44100, 0, 0, @DuffRecording, NIL);
  BASS_FX_BPM_CallbackSet(Channel, @BPMPROC, 2.5, MAKELONG(60,180), 0, nil);

  if Channel = 0 then
  Begin
    form1.Caption:='Cant start recording !!';
    exit;
  End
  else
  form1.Caption:='Recording '+Devicelistbox.Items[Devicelistbox.ItemIndex];
end;

// Callback
procedure BPMPROC (handle: DWORD; bpm: single; user: Pointer); stdcall;
begin
  Form1.BPM_Label.Caption:=Floattostr(RoundTo(bpm,-2));
end;
Der Callback wird auch aufgerufen und ein BPM Wert angezeigt. Der ist leider fürchterlich schwankend
und passt im Grunde nicht...hab schon mit diversen Zeiten von 1....6 Sekunden (Im Code oben 2.5 Sekunden ) gespielt.
Besser wird's nicht....anbei auch die exe von dem Elend incl. der DLL´s . Die sind aktuell...
Lokal spiele ich die Musik auf dem gleichem PC und hab Audio in/out per Klinke verbunden.
Kämpft jemand anderes im gleichem Krieg und kennt das Problem ???

Gruss
Calli


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:58 Uhr.

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