Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bass Klasse -> Kleiner Fehler (https://www.delphipraxis.net/68535-bass-klasse-kleiner-fehler.html)

kurtm1 21. Sep 2006 20:15

Re: Bass Klasse -> Kleiner Fehler
 
aso sorry hab ich vergessen zu schreiben

ich bekomme immer eine Access Violation

Wishmaster 23. Sep 2006 23:08

Re: Bass Klasse -> Kleiner Fehler
 
Hi

Sorry das ich mich nicht schon früher gemeldet habe!

Bei mir funzt es wie es soll!

Was sagt BASS_ErrorGetCode();?

Feileicht kannst du ja einwenig Code zeigen?


Das ist ein kleiner ausschnitt aus meinem Code (Bass.dll)!

Delphi-Quellcode:
BASS_StreamFree(Channel_Song);
ReverbHandle := 0
Channel_Song:= (BASS_StreamCreateFile(FALSE, PChar(FileName), 0, 0, Sound_Flags));



Private
  Saved8087CW   :  WORD;     // FPU exceptions
  ReverbHandle  :  HFX;
  ReverbParam   :  BASS_FXREVERB;
  FReverbLevel  :  WORD;

Procedure TAudioEngine.Set_SoundEffect(Value : TSoundEffects);
begin
  FSoundEffects:= Value;

{ Save the current FPU state and then disable FPU exceptions }
  Saved8087CW := Default8087CW;
{ Disable all fpu exceptions }
  Set8087CW($133f);


    if fxReverb in FSoundEffects then
     begin
      if ReverbHandle = 0 then
         ReverbHandle:= BASS_ChannelSetFX(Channel_Song , BASS_FX_REVERB, NumEQBands+2);

      if ReverbHandle <> 0 then
       begin
         if BASS_FXGetParameters(ReverbHandle, @ReverbParam) then
         ReverbParam.fInGain := 0.0;
         ReverbParam.fReverbMix := FReverbLevel * 0.5 - 16.0;
         ReverbParam.fReverbTime := 1000.0;
         ReverbParam.fHighFreqRTRatio := 0.1;
         BASS_FXSetParameters(ReverbHandle, @ReverbParam);
        end;
       end
     else
      begin
       if ReverbHandle <> 0 then
       if BASS_ChannelRemoveFX(Channel_Song, ReverbHandle) then
        ReverbHandle:= 0;
     end;


  Set8087CW(Saved8087CW); { Restore to original status }
end;



{-------------------------------- Reverb --------------------------------------}
// Min   = 0
// DefPos = 0
// Max   = 30
// def enablr = false

procedure TAudioEngine.Set_ReverbLevel(Value : WORD);            // Reverb
begin
  if Value < 0 then
     FReverbLevel:= 0
   else
    FReverbLevel := Value;

 if fxReverb in FSoundEffects then
  begin
 if ReverbHandle <> 0 then
  begin
   if BASS_FXGetParameters(ReverbHandle, @ReverbParam) then
    begin
     ReverbParam.fReverbMix := FReverbLevel * 0.5 - 16.0;
     BASS_FXSetParameters(ReverbHandle, @ReverbParam)
   end;
  end;
 end;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 Uhr.
Seite 2 von 2     12   

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