(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Медиаплеер своими руками

Источник: pcnext
Darkmaster

Сегодня мы с вами разберемся, как с помощью Delphi написать простейший проигрыватель музыки, а также простеньких видео-файлов формата avi. Вообще же написание своего проигрывателя(простейшего конечно же) несложная задача, поэтому сразу же замечу, что эта статья будет интересна начинающим программистам. Все остальные в ней не нуждаются. Если вы все еще читаете эти строки то значит вы один из начинающих, а значит что-то отсюда почерпнете для себя. Для начала давайте определимся с интерфейсом нашего проигрывателя. Я предлагаю сделать овальную форму. Можно конечно воспользоваться компонентом для этого(я слышал что есть такие), а можно сделать это вручную. Как это делается я читал в одной документации VR-online. Для этого нам придется прописать всего две строчки в oncreate нашей формы. Сложно? Нет. Вот эти строки:

procedure TForm1.FormCreate(Sender: TObject);
begin
FormRgn:=CreateEllipticRgn(0,0,Width,Height);
SetWindowRgn(Handle,FormRgn,true);
end;

Что значит CreateEllipticRgn, а то что нам нужен эллипс! Значения в скобах попробуйте поизменять и увидите эффект. Теперь собственно переходим к самому плееру, бросьте на форму компонент mediaplayer - именно с ним нам и предстоит работать. Также бросьте на офрму компонент OpenDialog с вкладки dialogs. Итак, теперь выделяем наш компонент mediaplayer. Для начала сделайте его невидимым. Для этого в обьектном инспекторе найдите свойство Visible и установите в false. Мы будем использовать свои кнопки! Но для начала покодим! Впишите в public:

FileName:string;

Теперь бросаем кнопку открыть(как оформить выбирайте сами). По нажатии на клавишу пишем следующий код:

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if OpenDialog1.Execute then FileName:=OpenDialog1.FileName;
end
;

Что мы сделали? Мы для начала проверили открыт ли выбор файлов, раз открыт то присвом FileName файл который вы выберите. Все просто. Теперь давайте создадим кнопку играть, тем более что сделать это нужно именно сейчас. Вот код:

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
MediaPlayer1.FileName:=FileName;
MediaPlayer1.Open;
MediaPlayer1.Play;
End;

В начале мы присваиваем песню, потом открываем ее, ну а затем играем ее. Теперь давайте создадим кнопку «пауза». Кстати не путайте паузу и стоп. Стоп останавливает мелодию, а пауза приостанавливает и потом позволяет продолжить мелодию с того же места где мы остановились.

procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
MediaPlayer1.Pause;
End;
Ну, а теперь стоп:
procedure TForm1.SpeedButton3Click(Sender: TObject);
begin
MediaPlayer1.Stop;
End;

Теперь давайте создадим для нашего проигрывателя регулятор громкости. Для этого кинем на форму два компонента TrackBar. Теперь выделите оба этих компонента и создайте для них событие onchange. Туда пропишите вот этот код:

procedure TForm1.TrackBar1Change(Sender: TObject);
var LValue, RValue:Word;
begin
LValue:=$FF-TrackBar1.Position;
RValue:=$FF-TrackBar2.Position;
WaveOutSetVolume(0,(RValue SHL 8)+LValue);
end;

Итак, здорово, мы получили простейший готовый плеер. Что можно улучшить? Ну, первым делом мне кажется нужно создать плейлист, это несложно просто немного подумайте, ну или обращайтесь в наш форум. Там всегда помогут. Потом совету сделать эквалайзер, для этого правда понадобится какой-то компонент, поищите. Потом вам безусловно понадобится встроить поддержку плейлистов с сохранением и загрузкой, проигрывание avi видео, это легко можно реализовать с помощью колмпонента mediaplayer, просто присвойте в его свойстве display скажем Panel1 и наслаждайтесь видео! Ну, а мне пора, форум вам поможет.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 18.12.2006 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
ABBYY Lingvo x6 Английская Домашняя версия, электронный ключ
erwin Data Modeler Navigator Edition r9.7 - Product plus 1 Year Enterprise Maintenance Commercial
Stimulsoft Reports.Ultimate Single License Includes one year subscription, source code
Bitdefender Antivirus Plus 2020/1 год/1 ПК
TeeChart Standard VCL/FMX 2 developer license
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
CASE-технологии
OS Linux для начинающих. Новости + статьи + обзоры + ссылки
Вопросы и ответы по MS SQL Server
Утиль - лучший бесплатный софт для Windows
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100