Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Bass: Trackbarlänge wird nicht korrekt verändert (https://www.delphipraxis.net/73748-bass-trackbarlaenge-wird-nicht-korrekt-veraendert.html)

Nils_13 23. Jul 2006 14:41


Bass: Trackbarlänge wird nicht korrekt verändert
 
Hi,

ich benutze die Bass.dll. Wenn ich ein Lied lade, setze ich die Länge der Trackbar auf die Liedlänge. Fast immer enden diese Lieder vor der Länge der Trackbar, obwohl ich die Länge richtig eingestellt habe. Deshalb bleibt der Thumb auch stehen. Warum ?

faux 23. Jul 2006 14:44

Re: Bass: Trackbarlänge wird nicht korrekt verändert
 
Wie wärs mit etwas Code?

Nils_13 23. Jul 2006 14:52

Re: Bass: Trackbarlänge wird nicht korrekt verändert
 
Delphi-Quellcode:
  //...
  tb1.Position := 0;
  tb1.Max := GetSongLength;
//...

  var
    Chan         : HSTREAM;

  TPlayerModus = (moSamples, moMusik, moStream);

  function TfrmMain.GetSongLength: Integer;
  begin
    Result := 0;

    Case Modus of
      moSamples: Result := round(BASS_ChannelBytes2Seconds(Chan,
                 BASS_ChannelGetLength(chan)));
    end;
  end;

Mazel 23. Jul 2006 14:53

Re: Bass: Trackbarlänge wird nicht korrekt verändert
 
Hi,

ich mache folgendes:
Delphi-Quellcode:
function TForm1.GetBASSInfo(Info: String): Int64;
var
  MilliSec: Integer;
  FloatPos: Float;

begin
  FloatPos:=0;
  If Info = 'GetLength' then FloatPos:=BASS_ChannelBytes2Seconds(BassChannel, BASS_ChannelGetLength(BassChannel))
  Else If Info = 'GetPosition' then FloatPos:=BASS_ChannelBytes2Seconds(BassChannel, BASS_ChannelGetPosition(BassChannel));
  MilliSec:=Trunc(1000 * FloatPos);
  If MilliSec < 0 then MilliSec:=0;
  Result:=MilliSec;
end;

 TrackBar.Max:=GetBASSInfo('GetLength');
Dann sollte es eigentlich gehen.

Gruß
Mazel

Nils_13 23. Jul 2006 15:01

Re: Bass: Trackbarlänge wird nicht korrekt verändert
 
Ok, es muss noch durch 1000 geteilt werden. Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:42 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