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