- •Часть 1
- •Implementation
- •Implementation
- •Implementation
- •Часть 1
- •Implementation
- •Implementation
- •Implementation
- •IBplementation
- •Implementation
- •Часть 1
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Interface
- •Часть 1
- •Interface
- •Часть 1 I. 104
- •Implementation
- •Implementation
- •Implementation
- •Часть I
- •Р ис. 1.46. Окно программы Звуки Windows
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Interface
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Implementation
- •Interface
- •Часть 1
- •168 Част
- •Implementation
- •Часть 1
- •Interface uses
- •Implementation
- •Interface
- •Implementation
- •Часть 1
- •Часть 1 I Примеры и задачи
- •Часть 1 I Примеры и задачи
- •Implementation
- •205 Часть
- •Interface
- •Implementation
- •216 Часть 1
- •Поле т ип Размер Информация
- •Часть 1
- •Implementation
- •Interface
- •Implementation
- •Implementation
- •Часть 2 Таблица 2.2 (окончание)
- •252 Часть 2
- •Часть 2 I Delphi — краткий справочник
- •Часть 2
Interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, MPlayer, ExtCtrls, MMSYSTEM; type
TForml = class(TForra)
MediaPlayer: TMediaPlayer;
TrackBar: TTrackBar;
Buttonl: TButton;
Timerl: TTimer;
Label1: TLabel;
Label2: TLabel;
procedure TrackBarChange(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure ButtonlClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TimerlTimer(Sender: TObject);
private
{ Private declarations } public
/ Public declarations j end;
var
Forml: TForml;
Implementation
{$R *.dfm}
var
Track: integer;
// пользователь изменил положение бегунка procedure TForml.TrackBarChange(Sender: TObject);
var
trk: integer; // трек, который надо воспроизвести
begin
trk :=TrackBar.Position;
if trk > MCI_TMSF_TRACK(MediaPlayer.Position) then while trk > MCI_TMSF_TRACK(MediaPlayer.Position) do MediaPlayer.Next
5 Зак. 939
130
e lse
while trk < MCI_TMSF_TRACK(MediaPlayer.Position) do
MediaPlayer.Previous; end;
// кнопка Play/Stop
procedure TForml.ButtonlClick(Sender: TObject);
begin
if Buttonl.Tag = 0 then begin
Buttonl.Caption := 'Stop'; Buttonl.Tag :=1; MediaPlayer.Play; end else begin
Buttonl.Caption : = 'Play'; Buttonl.Tag :=0; MediaPlayer.Stop; end; end;
procedure TForml .FormActivate.(Sender: TObject); begin
if (MediaPlayer.Mode = mpStopped) and
(MediaPlayer.Tracks > 1) then begin
Buttonl.Enabled := True; TrackBar.Max := MediaPlayer.Tracks; end else begin
labell.Caption := 'Вставьте в дисковод Audio CD'; end; end;
// сигнал от таймера
procedure TForml.TimerlTimer(Sender: TObject);
var
trk, // грек
min, sec: byte; // время begin
case MediaPlayer.Mode of
Части
Примеры и задачи
mpPlaying: // режим воспроизведения
begin
min := MCI_TMSF_MINUTE(MediaPlayer.Position); sec := MCI_TMSF_SECOND(MediaPlayer.Position) ; Label2.Caption :=
Format('%d:%.2d',[min,sec]);
// определим, надо ли перемещать бегунок trk := MCI_TMSF_TRACK(MediaPlayer.Position); if trk <> Track then begin
Track:= trk;
TrackBar.Position := Track;
Labell.Caption :=
Format('Track %d.',[trk]); end; end;
mpOpen: // дисковод открыт или в нем нет диска begin
if Buttonl.Enabled then
begin
Labell.Caption :='Вставьте в дисковод Audio CD';
Label2.Caption :='';
Buttonl.Enabled := False; // режим ожидания диска Buttonl.Caption := 'Play1; end;
// мигание сообщения if Labell.Visible
then Labell.Visible := False
else Labell.Visible := True;
end;
mpStopped: // штеер остановлен begin
if not Buttonl.Enabled then begin
// плеер был в режиме ожидания диска // теперь диск вставлен MediaPlayer.Open; Buttonl.Enabled := True;
132
Примеры и задачи
133
Label1.Caption := 'Track: 1'; Label1.Visible := True; Label2.Caption:= ''; TrackBar.Position := 1; TrackBar.Max := MediaPlayer.Tracks; end;
if Buttonl.Tag = 1 then begin
// завершено воспроизведение последнего трека Buttonl.Caption := 'Play'; Buttonl.Tag :=0; TrackBar.Position := 1; Labell.Caption := 'Track I1; Label2.Caption := ''; end; end; end; // case
end;
procedure TForml.FormClose(Sender: TObject;
var Action: TCloseAction); begin
MediaPlayer.Stop; end;
end.
49. Напишите программу МРЗ Player. Программа должна обес-J печивать возможность выбора каталога, в котором находятся! МРЗ-файлы, а также регулировку громкости звука непосредст-1 венно в диалоговом окне программы. Для отображения спискад МРЗ-файлов используйте компонент ListBox, а для управления! медиаплеером — кнопки speedButton. Рекомендуемый вид фор-1 мы программы приведен на рис. 1.50.
{ МРЗ Player с регулятором громкости.
(с) КультинН.Б., 2003. } unit mp3p_;
