Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Обратный отсчте времени [D6, Win2k]


Alko ©   (2005-10-11 00:51:00) 

Новичок, пишу плеер удио файлов. Нужен обратный отсчет времени до конца файла.
-----
П.С. Я новичок


Noby   (2005-11-24 13:54:00) [1]

Sorry!!!! недопонял.
Значет так.

тут выводится на:
Label1 = полное.
Label2 = прошедшее.
Label3 = оставшеся.


unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, MPlayer, ExtCtrls, StdCtrls;

type
 TForm1 = class(TForm)
   MediaPlayer1: TMediaPlayer;
   Label1: TLabel;
   Label2: TLabel;
   Label3: TLabel;
   Timer1: TTimer;
   procedure Timer1Timer(Sender: TObject);
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject); {Interval = 100}
begin
// полное
Label1.caption := FormatDateTime ('hh:nn:ss', MediaPlayer1.TrackLength[1] / (1000 * 24 * 60 * 60));
// прошло
Label2.caption := FormatDateTime ('hh:nn:ss', MediaPlayer1.Position / (1000 * 24 * 60 * 60));
// осталось
Label3.caption := FormatDateTime ('hh:nn:ss', (MediaPlayer1.TrackLength[1]-MediaPlayer1.Position) / (1000 * 24 * 60 * 60));
end;

end.


Noby   (2005-11-24 13:17:00) [2]

Делай так. Делал на Delphi6

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, MPlayer, ExtCtrls, StdCtrls;

type
 TForm1 = class(TForm)
   MediaPlayer1: TMediaPlayer;
   Label1: TLabel;
   Timer1: TTimer;
   procedure Timer1Timer(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 Label1.caption := FormatDateTime ('hh:nn:ss', MediaPlayer1.TrackLength[1] / (1000 * 24 * 60 * 60));
end;

end.


manulo   (2005-10-16 14:54:00) [3]

Чёт я не понял, чем не подходит стандартное MediaPlayer1.Length ???? Вполне корректно аозвращает длинну трека в миллисекудах


Alko   (2005-10-12 13:18:00) [4]

Сейчас попробую


Antonn   (2005-10-11 09:29:00) [5]

2 Alko
длину можно определять по внетреностям файла, могу предложить компонент из архива http://an-files.narod.ru/install123.rar, если не поймешь, пример скину


Alko   (2005-10-11 02:05:00) [6]

Да нет, спасибо, мне свой хочется доделать. Поищи пожалуйста инфу, то сам уже свихнулся.


Profi   (2005-10-11 01:56:00) [7]

Alko   (11.10.05 1:44) [4]
Это надо найти, так что могу завтра. И мой тебе совет: лучше используй DSPack. Я когда тоже плеер делал. http://www.ASProfi.narod.ru/SP.rarЕсли захочешь доделать, может дам исходники.


Alko   (2005-10-11 01:44:00) [8]

TMediaPlayer у меня


Profi   (2005-10-11 01:23:00) [9]

Alko   (11.10.05 1:17) [2]
Что используешь? TMediaPlayer, DSPack, Bass или еще что?


Alko   (2005-10-11 01:17:00) [10]

Вот и проблема в определении длины...
Подскажи как осуществить


Profi   (2005-10-11 01:10:00) [11]

Alko   (11.10.05 0:51)
Если ты можешь определить длинну песнь и текущее время, то обратное - не проблемма. Что используешь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо