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

Сьогодні ми з вами розберемося, як за допомогою 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 і насолоджуйтеся відео! Ну, а мені пора, форум вам допоможе.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*