Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как показать оставшееся время до конца?

Delphi , Мультимедиа , Видео

Code:

Procedure TForm1.Timer1Timer(Sender: TObject);
Var
TheLength,Posi,SummaMin,SummaSec: Integer;
begin
//Progress Bar to check if the track is playing
if Progress.Max<>0 then Begin
   Progress.Position := Mediaplayer1.Position;
 
    //Gets the length of the selected track
   TheLength := Mediaplayer1.TrackLength[ListBox1.ItemIndex];
 
     //gets the current position of the track
     Posi := Mediaplayer1.Position;
 
     //Caculates Minutes
     SummaMin := ((TheLength - Posi) div 1000) Div 60;
 
     //Calculates Seconds
     SummaSec := ((TheLength - Posi) Div 1000) Mod 60;
 
     //Adds zero if Seconds are less then ten
     If SummaSec < 10 Then
     Label2.Caption := '0' + IntToStr(SummaSec)
     Else
     Label2.Caption := IntToStr(SummaSec);
 
     //Minutes
     Label1.Caption := IntToStr(SummaMin);
 
End;
Взято с сайта http://www.swissdelphicenter.ch/en/tipsindex.php

Привет! Я перевёл текст на русский язык:

Код, предоставленный ниже, является частью проекта Delphi, который рассчитывает оставшееся время до конца трека, играющего в медиаплеере. Таймер обновляет прогресс-бар и отображает оставшееся время в минутах и секундах на двух лейблах.

Чтобы отобразить оставшееся время, можно просто отобразить SummaMin (минуты) и SummaSec (секунды) на лейблах:

Label1.Caption := IntToStr(SummaMin) + ':' + Label2.Caption;

Это будет конкатенацией минут и секунд с двоеточием между ними. Используется оператор If, чтобы добавить ведущий ноль к секундам, если они меньше 10.

Вот обновлённая версия процедуры:

Procedure TForm1.Timer1Timer(Sender: TObject);
Var
  TheLength, Posi, SummaMin, SummaSec: Integer;
Begin
   // Прогресс-бар для проверки, играет ли трек
  if Progress.Max <> 0 then Begin
    Progress.Position := Mediaplayer1.Position;

     // Получает длину выбранного трека
    TheLength := Mediaplayer1.TrackLength[ListBox1.ItemIndex];

     // Получает текущую позицию трека
    Posi := Mediaplayer1.Position;

     // Рассчитывает минуты
    SummaMin := (TheLength - Posi) div 1000 div 60;

     // Рассчитывает секунды
    SummaSec := (TheLength - Posi) div 1000 mod 60;

     // Добавляет ноль, если секунды меньше десяти
    If SummaSec < 10 Then
      Label2.Caption := '0' + IntToStr(SummaSec)
    Else
      Label2.Caption := IntToStr(SummaSec);

     // Минуты
    Label1.Caption := IntToStr(SummaMin) + ':' + Label2.Caption;
  End;
End;

Это отобразит оставшееся время в формате mm:ss, где mm - количество минут, а ss - количество секунд.

В статье описывается способ отображения оставшегося времени до конца воспроизведения аудиотрека в приложении Delphi, используя компонент Timer и медиаплеера.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Видео ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-04-26 16:56:34/0.0032379627227783/0