Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#3

AW: Bass.dll erneutes starten von Lied unterbinden

  Alt 31. Jul 2014, 11:49
Wenn das Lied zu ende ist, ist aber die Trackbar noch nicht bei Maximal angekommen und somit wird das Lied für kurze Zeit am Anfang wiederholt
Wenn deine Trackbar (bei mir Slid_Play : TjvxSlider, wobei Max=100 und Min=0) bei Songende nicht ebenfalls am Ende angekommen ist, liegt das an fehlerhafter Programmierung:
Delphi-Quellcode:

...
  PRIVATE { Private-Deklarationen }
    Var
      ...
      Kanal : HSTREAM;
      ...


Procedure TFormPlay.Timer_Mp3Timer(Sender: TObject);
Var
  Wert,
  Level : DWord;
  Sek : Integer;

begin
  If BASS_ChannelIsActive(Kanal) = BASS_ACTIVE_PLAYING Then
  Begin
     Level := BASS_ChannelGetLevel(Kanal);
     Wert := LoWord(Level);
     PeakMeter.Value := Round(PeakMeter.MeterMaxValue * Wert / 32768);
     Posi := BASS_ChannelGetPosition(Kanal,BASS_POS_BYTE);
     Slid_Play.Value := Round((100 * Posi) / Lang);
     Sek := Round(BASS_ChannelBytes2Seconds(Kanal,Posi));
     Lbl_Posi.Caption := GL.Spc + GL.SekundenToStundenString(Sek,1);
  End;

  If BASS_ChannelIsActive(Kanal) = BASS_ACTIVE_STOPPED Then
  Begin
    Timer_Mp3.Enabled := False;
    PeakMeter.Value := 0;
    Slid_Play.Value := 0;
    Lbl_Posi.Caption := GL.Spc + GL.SekundenToStundenString(0,1);
    Bit_Stop.Enabled := False;
    Bit_Play.Glyph.LoadFromResourceName(HInstance, 'Bit_PlayMp3');
  End;
end;
Miniaturansicht angehängter Grafiken
slider.jpg  
  Mit Zitat antworten Zitat