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;