:.:Создание плэера использую DsPack:.:
Введение.
Привет, я Lex Luthor!Я давно хотел написать статью про плэер т.к любой кодер обезательно должен написать хоть один плэер.Но, сегодня это не будет наш первый плэер,я дам основу работы с компонентом под названием DsPack.На мой взгляд если бы более или менее продвинутый кодер, его использовал, то думаю что можно было бы создать WinAmp-у неплохую конкуренцию.Я хотел бы не много рассказать от куда я узнал про этот кулл-компанент...Началось всё с того, что мой знакомый с чата ДелфиМастер предложил посмотреть его плэер,я просто довольно скептически смотрю на создание плэеров и не думал что увижу что стоящее.Но когда я его увидел я обомлел,я не верил своим глазам в этой проги было всё что мне надо.И тут я задумался, а правда ли это, что круче WinAmp ничего нет...После прочтения данной статьи думаю ты сам ответишь:)
И так давай посмотрим что сможет делать наш MPlayer:
1)Загрузка видео и аудио файлов;
2)Перемотка песни;
3)Настройка баланса колонок;
4)Настройка звука;
Пожалй и всё.И так,когда бороздишь по просторам сети,у некоторых людей возникают проблемы с установкой.Так довай же разберёмся что и как.Для начала качаем компанент и распаковываем архив, идём в следующую папку ../DSPACK234/packages/ вот так например у меня:

Далее запускаем последовательно три пакета:
1)DirectX9_D7.dpk
2)DSPack_D7.dpk
3)DSPackDesign_D7.dpk
Надо вот так:

Все компаненты должны быть установлены!!!Вообще если прога не будет находить *.dcu файлы то мой совет может не самый элегантный но простой найдите все файлы с расширением *.dcu,потом идите в папку где Делфи найдите папку Lib и скопируйте всё туда.У меня так всё прекрасно работает.
И так когда компаненты установлены пора написать плэер.Для начала создайте три формы:

Теперь кидай на форму след.компаненты:
1)1 FilterGraph- с закладки DsPack ;
2)1 DSTrackBar- с закладки DsPack ;
3)3 Button -название 1-го Button-a "Play", 2-го Button-a "Pause", 3-го Button-a "Stop" ;
4)2 TrackBar;
Примерно так должна выгледеть Form1:

Проще всего выгледит Form2, на неё нужно лишь положить компанент VideoWindow- с закладки DsPack :

Ну и последняя формочка Form3, идём на закладку Win 3.1:

Берём с закладки три компанента:
1)1 DriveComboBox;
2)1 DirectoryListBox;
3)1 FileListBox;
И ложим их на форму Form3 вот так я разместил компаненты на формачке:

Приготовления окончены приступим к написанию кода.Сразу же кликай на кнопке "Play" и вставляй вот этот код:
procedure TForm1.Button1Click(Sender: TObject);
begin
FilterGraph1.Play;
end;
Теперь вставляй код для кнопки "Pause":
procedure TForm1.Button2Click(Sender: TObject);
begin
FilterGraph1.Pause;
end;
Код для кнопки "Stop":
procedure TForm1.Button3Click(Sender: TObject);
begin
FilterGraph1.Stop;
end;
С кнопками закончили переходим к трэк барам.Нажми один раз на DSTrackBar1 и найди св-во OnTimer два раза кликни и вписывай вот такой код:
TForm1.DSTrackBar1Timer(sender: TObject; CurrentPos,
StopPos: Cardinal);
begin
Label1.Caption:='Прошло: '+TimeToStr(CurrentPos / MiliSecPerDay);
Label2.Caption:='Всего :'+TimeToStr(StopPos / MiliSecPerDay);
end;
Следующий трэк бар выполняет функцию уровня звука нажми два раза на TrackBar1 и вставляй вот такой код:
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
FilterGraph1.Volume := Form1.TrackBar1.Position;//Поставь у трэкбара в св-ве Max числовое значение 10000
end;
Следующий трэкбар будет выполнять функцию баланса звука.Жми два раза на TrackBar2 и вставляй вот этот код:
procedure TForm1.TrackBar2Change(Sender: TObject);
begin
FilterGraph1.Balance:=SetBasicAudioPan(Form1.TrackBar2.Position);//Поставь у трэкбара в св-ве Max числовое значение 10000, а Min -10000
end;
Осталось самое главное запуск файла,открывай третью форму ака Form3 и найди компанент FileListBox1 затем ищи в событиях св-во OnDblClick и кликай два раза в пустом поле напротив,затем вставь вот этот код:
procedure TForm3.FileListBox1DblClick(Sender: TObject);
begin
if not Form1.FilterGraph1.Active then Form1.FilterGraph1.Active := true;
Form1.FilterGraph1.ClearGraph;
Form1.FilterGraph1.RenderFile(Form3.FileListBox1.FileName);
Form1.TrackBar1.Position := Form1.FilterGraph1.Volume;
Form1.Label3.Caption:='Адрес: '+FileListBox1.FileName;
Form1.FilterGraph1.Play;
end;
Вроде всё написал могу посоветовать ещё один ресурс для этого компанента,там найдёте и эквалайзер и всё в этом духе.Вообщем всё в ваших руках...
С уважением,Lex Luthor
Информация к статье:
Скачать:Исходник
Автор : Lex Luthor
Статья : 30.09.2006
|