Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Mathe Porblem (https://www.delphipraxis.net/47752-mathe-porblem.html)

dizzy 16. Jun 2005 17:58

Re: Mathe Porblem
 
Zitat:

Zitat von Jelly
Vorsicht wenn du morgens früh schon solche Schocker bringst. Bleiben wir erst mal beim linearen Zusammenhang. :stupid:

:gruebel: Also ich habe um 2:40 Uhr immer mein Leistungshoch ;)

On Topic:
Das Problem mit der Frequenzabhängigkeit der Lautstärke dürfte hier doch eher weniger bedeutsam sein -> So genau sch****t kein Hund :D. Zumal ja letztlich alle Frequenzen bei null ankommen.
Der Einwand, dass evtl. die Hardware (bzw. Treiber) für die entsprechende Umsetzung sorgen ist auch nicht ohne! Das müsste man dann wohl mal testen... Bei meiner Soundkarte (SB Audigy Player) habe ich allerdings nicht den Eindruck dass dem so wäre.
(Ich meine auch mal gelesen zu haben, dass selbst die Daten in Wave-Files log. interpretiert werden, damit die "leisen" Daten höher aufgelöst dargestellt werden können. Es mag aber auch sein, dass dies ein spezielles Wave-Format oder gar mp3 war :gruebel:)

Alf 16. Jun 2005 22:04

Re: Mathe Porblem
 
Hi Leute

nix für ungut habe aber das problem gelöst.
die Vorlage kamm von Jelly

Delphi-Quellcode:
var
   Vout: Real;
   Tfest: Real;
   Tout: Real;

begin
   Vout:=800;         //ist der Anfangwert von Volumen
   Tfest:=60;         //ist der Anfangszeitwert, in msec Beispiel(59.500 o. 0,500)
   Tout:=Tfest*64.3;  //in in sec (*4.3 scheint irgentwie was mit den TTimer zu tun
                                 //ansonsten gibt es eine Zeitdifferenz)


  ............


end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  pTime : LongInt;
  tt: real;
  Tin: real;
begin
    if CheckBox1.Checked then
       ptime:=MediaPlayer1.Length-MediaPlayer1.Position
     else
       ptime:=MediaPlayer1.Position;

     Label2.Caption:='Time: '+zeit(ptime);

     if (Tout)>0 then
     begin
         tt:=(Vout/(Tfest))*(Tout/64.3);
         tin:=(sqr((tt))/1000);                    //hier wird der Wert in ein "Log" für
         SetMPVolume(MediaPlayer1,Round(tin));     //SetMPVolume, ergibt weiches Fade
         TrackBar1.SelStart:=(Round(1000-tt));     //der Balken wird mitbewegt
         Label7.Caption:=FloatToStr(Round((tt)));
         Tout:=(Tout-1);                           // Toutwert verkleinern
     end
     else
         Timer1.Enabled:=False;

end;
Anbei, sollte ein Forum auch für unwissende sein, so wie "Ich"
sonst breuchte man kein Forum oder?
Programiere ja nur in der Urlaubzeit!!


Dank an alle


Gruss Alf


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr.
Seite 3 von 3     123   

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