Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi bass_fx.dll und Tempo Problem (https://www.delphipraxis.net/73803-bass_fx-dll-und-tempo-problem.html)

Mazel 24. Jul 2006 11:15


bass_fx.dll und Tempo Problem
 
Hallo,

ich verwende die bass.dll und die bass_fx.dll in meinem Projekt. Nun wollte ich die Abspielgeschwindigkeit ändern, was aber nicht ganz richtig funktioniert.

Hier mal mein Code:
Delphi-Quellcode:
//Channel zuweisen
BassChannel:=BASS_StreamCreateFile(False, PCharFileName, 0, 0, BASS_STREAM_DECODE);

//nur für das Tempo
BassChannel:=BASS_FX_TempoCreate(BassChannel, BASS_FX_FREESOURCE);
SetTempo(Value); //Value enthält den Wert der Geschwindigkeit

procedure TForm1.SetTempo(Tempo: Integer);
begin
  BASS_FX_TempoSet(BassChannel, Tempo, 0, -100);
end;
Irgendwie hat mein Programm Probleme mit BASS_STREAM_DECODE. Es kommt dort eine Fehlermeldung "ungültige Gleitkommaoperation"

Kann mir hier jemand helfen?

Kann es etwas damit zu tun haben, das ich gleichzeitig auch noch Effekte mit dabei habe?
Delphi-Quellcode:
// ind der Form Create
If HIWORD(BASS_GetVersion) <> BASSVERSION then
  begin
   Error('BASS Version 2.3 konnte nicht geladen werden!', 'bass.dll');
   Application.Terminate;
  end;
 BASS_SetConfig(BASS_CONFIG_NET_PREBUF, 0);
 BASS_SetConfig(BASS_CONFIG_FLOATDSP, 1);
 // Initialize audio - default device, 44100hz, stereo, 16 bits
 If not BASS_Init(-1, 44100, 0, Handle, nil) then
  begin
   Error('Fehler beim Initialisieren!', 'bass.dll');
   Application.Terminate;
  end;
 floatable:=BASS_StreamCreate(44100, 2, BASS_SAMPLE_FLOAT, nil, 0);
 If (floatable > 0) then
  begin
   BASS_StreamFree(floatable);      // woohoo!
   floatable:=BASS_SAMPLE_FLOAT;
  end;
Gruß
Mazel

omata 24. Jul 2006 23:38

Re: bass_fx.dll und Tempo Problem
 
Hallo Mazel,

schau dir doch mal mein Beispiel an. Dort wird die bass_fx benutzt und ich hatte auch mal dein Problem.

Gruss
Thorsten

Mazel 25. Jul 2006 09:24

Re: bass_fx.dll und Tempo Problem
 
Hi,

danke. Mitlerweile habe ich auch eine Lösung gefunden. Es gibt sicherlich noch eine andere Möglichkeit, aber funktioniert: (aus dem delphi-forum [bass_fx.dll] Code verursacht in der IDE keine Exception, als exe schon

Delphi-Quellcode:
procedure TForm1.BASSObject;
var
 Saved8087CW: Word;

begin
 Saved8087CW:=Default8087CW;
 Set8087CW($133f); { Alle FPU-Exceptions deaktivieren }
 ..
 ..
 Set8087CW(Saved8087CW);
end;
Gruß
Mazel


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr.

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