Scrierea unui media player simplu (partea 1) - articole

Cel mai simplu player media poate fi creat prin instrumente standard Windows. Există module care sunt disponibile din orice limbaj de programare - este ActiveX. Delphi în această privință nu este o excepție. Built-in Windows Media Player are propriul său modul ActiveX, pe care îl putem folosi cu ușurință în programul nostru. Cu toate acestea, nu este posibil să se schimbe radical nimic în el. În acest articol voi arăta un exemplu de utilizare a acestei componente.







În primul rând, componenta ActiveX (abreviată AX) trebuie integrată în shell-ul Delphi. Acest lucru este ușor: deschideți caseta de dialog Componentă - Import de control ActiveX. În diferite versiuni ale Delphi, acest element de meniu poate fi apelat diferit, dar cuvântul cheie rămâne ActiveX. În fereastra care se deschide, în lista de componente, găsiți linia Windows Media Player. Faceți clic pe butonul Instalare. În fereastra care apare, puteți specifica ce pachet să instaleze componenta în. Puteți lăsa toate acestea în mod prestabilit și faceți clic pe OK. Apoi, butonul WindowsMediaPlayer apare în fila ActiveX a paletei componente. Acum puteți începe crearea playerului.

Mai întâi plasați componenta pe formular - faceți clic pe pictograma sa și apoi pe formular. Veți vedea o imagine familiară - imaginea jucătorului. Aspectul său depinde de versiunea componentei instalate în sistem. O vizualizare aproximativă a ceea ce veți vedea este prezentată în Figura 1.

În primul rând, permiteți deschiderea fișierului dorit. Proprietatea URL a tipului WideString (șir) corespunde căii către fișierul care urmează să fie redat. Să facem meniul programului, unde vom adăuga elementul de care avem nevoie. Plasați-o pe formularul TMainMenu (pagina standard). Faceți dublu clic pe pictograma TMainMenu. culcat pe formular. Se deschide designerul de meniuri. Selectați elementul unic din titlul meniului și în proprietatea Caption scrie "Fișier". Apoi faceți clic pe elementul creat și sub el va apărea încă o linie goală. Acolo și introduceți numele elementului nostru - "Deschidere". Apoi, să creăm un delimiter pentru meniu - în proprietatea Caption, puneți un singur caracter - minus ("-"). Următoarea linie este elementul "Ieșire". Programul are deja un meniu, deși mic. Acum trebuie să conectați elementul de meniu la dialogul de deschidere a fișierului. Găsiți componenta TOpenDialog din pagina Dialoguri și plasați-o pe formular. Activați proprietatea Filtru și faceți clic pe butonul cu trei puncte ("."). În fereastra care apare, introduceți tipurile de fișiere dorite. În câmpul Nume filtru, introduceți o descriere a tipurilor de fișiere, iar în câmpul Filtru, filtrul propriu-zis. Exemplul din figura 2.

Pentru a face convenabil ca componenta să funcționeze, schimbați proprietatea Nume în MediaPlayer.

Selectați componenta și accesați Inspectorul de obiecte. Proprietățile (proprietățile) pentru componentă nu sunt foarte multe, dar evenimentele (evenimentele) sunt mult mai mari. Dar folosim doar câteva dintre ele.







Pentru comoditate, componenta MainMenu1 este redenumită la MainMenu. și OpenDialog1 - în OpenDialog.

Metoda Execute deschide o fereastră de dialog și dacă utilizatorul nu a făcut clic pe "Cancel", funcția readuce True. și FileName înregistrează calea către fișierul selectat. Apoi, atribuim fișierul selectat proprietății adresei URL a playerului. Rulați programul și încercați să deschideți fișierul. Totul ar trebui să funcționeze, fișierul ar trebui să fie redat.

Acum, să aducem fereastra jucătorului în vederea normală. Playerul în sine trebuie întins la lățimea totală a ferestrei - modificați proprietatea Align (Align) la alClient. Forma însăși ar trebui redusă, deoarece playerul nostru redă acum numai fișiere audio. În opinia mea, pentru forma, puteți seta lățimea (lățime) egală cu 300 și înălțimea (înălțime) - 200. În sfârșit, puteți schimba aspectul ferestrei și set BorderStyle este setat la bsSizeToolWin. iar subtitrarea este "Simple Media Player".

Acum, programați "Exit" - pentru aceasta, trebuie să scrieți în manualul său un singur rând:

Această metodă închide formularul curent (Auto - obiectul selectat implicit, formular) și termină aplicația.

Acum trebuie să facem comenzi de joc elementare - Start. Stop. Pauză. Desigur, există deja butoane existente în player, dar ele ar trebui să fie, de asemenea, reflectate în meniu.

Mai întâi, adăugați elementul de meniu "Control" în bara de titlu a meniului (unde "Fișier"). Apoi adăugați două elemente - "Start / Stop" și "Pauză". Este ușor să programați aceste comenzi. Pentru a controla redarea, utilizați setul de metode Controls. și puteți afla starea actuală a jucătorului din proprietatea PlayState. Iată cum arată "handlerul de pornire / oprire":

Dar managerul "Pauză":

Rulați programul și verificați funcționalitatea acestuia.

După cum puteți vedea, am creat un jucător relativ simplu, dar de lucru. Data viitoare vom continua să o dezvoltăm. O imagine aproximativă a ferestrei programului după efectuarea tuturor acțiunilor descrise în articol este prezentată în figură.

Eu pentru prima data incerc sa fac ceva de genul asta si nu am aparitia, desi ca in imagine, dar cu codul chiar netak spune ca unitatea Unit1;

utilizări
Ferestre, Mesaje, SysUtils, Variante, Clase, Grafica, Controale, Formulare,
Dialoguri, Meniuri, ExtDlgs, OleCtrls, WMPLib_TLB;

tip
TForm1 = clasa (TForm)
WindowsMediaPlayer: TWindowsMediaPlayer;
MainMenu: TMainMenu;
OpenPictureDialog: TOpenPictureDialog;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
Eghfdktybt1: TMenuItem;
N5: TMenuItem;
N6: TMenuItem;
N7: TMenuItem;
procedura N2Click (expeditor: TObject);
procedura N4Click (expeditor: TObject);
procedura N5Click (expeditor: TObject);
procedura N6Click (expeditor: TObject);
procedura N7Click (expeditor: TObject);
privat

public

se încheie;

var
Form1: TForm1;

procedura TForm1.N2Click (expeditor: TObject);
începe
dacă OpenDialog.Execute apoi
MediaPlayer.URL: = OpenDialog.FileName;
se încheie;

procedura TForm1.N4Click (expeditor: TObject);
începe
self.Close;
se încheie;

procedura TForm1.N5Click (expeditor: TObject);
începe
IF
MediaPlayer.PlayState = wmppsPlaying Then
MediaPlayer.Controls.Stop
altfel
MediaPlayer.Controls.Play;
se încheie;

procedura TForm1.N6Click (expeditor: TObject);
începe
IF
MediaPlayer.PlayState = wmppsPlaying Then
MediaPlayer.Controls.Stop
altfel
MediaPlayer.Controls.Play;
se încheie;

procedura TForm1.N7Click (expeditor: TObject);
începe
IF
MediaPlayer.Playstate = wmppsPlaying Then
MediaPlayer.Controls.Pause;
se încheie;







Trimiteți-le prietenilor: