И так, решил написать маленький, скажем даже не нужный проигрыватель видео и музыки, немного помучался и написал...
Этот проигрыватель (далее - П) будет содержать 2 окна, на 1 разместим 1
кнопочку (Button), Edit (сюда будем выбирать файл, который будем
воспроизводить), 5 панелей (Panel) и TrackBar (будет служить для показа
сколько прошло / осталось времени). Панели будут выполнять фунции
кнопок (Воспроизведение, Пауза, Назад, Вперед, Остановить), а кнопка
будет называться Обзор.
СОВЕТУЮ разместить елементы так: вверху Edit напротив него Button, под ними
TrackBar и еще ниже 5 панелей.
Где эти все "инструменты находятся": Button, Edit, Panel >> вкладка Standard,
TrackBar >> Win32.
Для удобства из вкладки Win32 можно взять манифест ХП (самый последний
значок) + надо, таймер (Timer) из вкладки System, Опен Диалог
(OpenDialog) вкладка Dialogs и сам "проигрыватель" (MediaPlayer) из
вкладки System.
MediaPlayer (Visible ставим = False (чтоб небыло видно)), ну а дальше
легенький код проги (я решил дать сразу весь текст, так как посчитал
это более удобным):
procedure TForm1.PlayClick(Sender: TObject);
begin
// связываю плеер с файлом;
MediaPlayer1.FileName:=Edit1.Text;
// Инициализую устройство;
MediaPlayer1.Open;
// Воспроизвожу;
MediaPlayer1.Play;
// устанавливаю границы прокрутки;
Scroll.Max:=MediaPlayer1.TrackLength[1];
// Активизирую таймер;
Timer1.Enabled:=True;
end;
procedure TForm1.PauseClick(Sender: TObject);
begin
MediaPlayer1.Pause;
end;
procedure TForm1.BackClick(Sender: TObject);
begin
// Перевожу на 100 кадров назад;
MediaPlayer1.Position:=MediaPlayer1.Position - 100;
// И продолжаю воспроизведение;
MediaPlayer1.Play;
end;
procedure TForm1.ForwardClick(Sender: TObject);
begin
// Перевожу на 100 кадров вперед;
MediaPlayer1.Position:=MediaPlayer1.Position + 100;
// И продолжаю воспроизведение;
MediaPlayer1.Play;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Scroll.Position:=MediaPlayer1.Position;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if not Open1.Execute then
ShowMessage('Файл не был выбран! ^^')
else Edit1.Text:=Open1.FileName;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Str:String;
i:Integer;
begin
if ParamCount > 0 then begin
Str:=ParamStr(1);
for i:=2 to ParamCount do
Str:=Str + ' ' + ParamStr(i);
end;
if Str <> '' then begin
Edit1.Text:=Str;
MediaPlayer1.FileName:=Edit1.Text;
MediaPlayer1.Open;
MediaPlayer1.Play;
Scroll.Max:=MediaPlayer1.TrackLength[1];
Timer1.Enabled:=True;
end;
end;
Для панелей, чтоб они работали, как кнопки делаю событие: OnMouseDown, и OnMouseUp^^
Поэтому ОБЯЗАТЕЛЬНО смотрите напроцедуры, изза них у вас могут быть ошибки!!!
Это моя первая статья, так что извиняйте, кому что не понравилось...
По вопроссам и т.д. обращаться (Email):
1) azzik2222@ya.ru ;
2) v1s.xaker.ru ;