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

Как при проигрывании музыки с Audio CD показывать сколько прошло минут и секунд

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

Как при проигрывании музыки с Audio CD показывать сколько прошло минут и секунд


uses
  MMSystem;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  Trk : Word;
  Min : Word;
  Sec : Word;
begin
  with MediaPlayer1 do
  begin
    Trk := MCI_TMSF_TRACK(Position);
    Min := MCI_TMSF_MINUTE(Position);
    Sec := MCI_TMSF_SECOND(Position);
    Label1.Caption := Format('%.2d',[Trk]);
    Label2.Caption := Format('%.2d:%.2d',[Min,Sec]);
  end;
end;

Here is the translation of the provided text into Russian:

Приведенный код предназначен для отображения текущего номера трека и времени, прошедшего в минутах и секундах, при воспроизведении аудио-CD с помощью компонента Media Player в Delphi.

Вот подробное описание того, как это работает:

  1. Процедура Timer1Timer: она вызывается регулярными интервалами (установленными для Timer1) для обновления отображения.
  2. MediaPlayer1: компонент Media Player, который контролирует воспроизведение аудио-CD.
  3. Position: свойство Media Player, возвращающее текущую позицию воспроизведения в миллисекундах.
  4. Функции MCI_...: они используются для извлечения номера трека, минуты и секунды из свойства Position.

Однако есть более эффективный способ форматирования времени, прошедшего с помощью встроенной функции Delphi Format:

Label2.Caption  := Format('%02d:%02d', [Min, Sec]);

Форматтер %02d используется для добавления ведущих нулей к значениям минуты и секунды, если они меньше 10.

Также было бы хорошим идеалом проверять ошибки при вызове функций MCI_..., так как они могут возвращать код ошибки, который может не быть обработан правильно в этом примере.

Вот обновленный код:

procedure TForm1.Timer1Timer(Sender: TObject);
var
  Trk: Word;
  Min: Word;
  Sec: Word;
begin
  try
    with MediaPlayer1 do
    begin
      Trk := MCI_TMSF_TRACK(Position);
      Min := MCI_TMSF_MINUTE(Position);
      Sec := MCI_TMSF_SECOND(Position);
      Label1.Caption := Format('%.2d', [Trk]);
      Label2.Caption := Format('%02d:%02d', [Min, Sec]);
    end;
  except
     // Обрабатывайте ошибку здесь
  end;
end;

Не забудьте настроить компонент Media Player правильно и начать воспроизведение аудио-CD перед запуском этого кода.

В статье описывается способ отображения времени в формате минуты и секунды при проигрывании музыки с Audio CD с помощью компонента MediaPlayer1 и таймера Timer1 в Delphi.


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

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




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


:: Главная :: Аудио ::


реклама


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

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 12:20:41/0.0054728984832764/1