Care sunt tipurile de aplicații multimedia și mijloacele de dezvoltare a acestora. Dezvoltați aplicații multimedia personalizate folosind capabilitățile Intel Perceptual Computing SDK

În acest capitol, vom analiza un exemplu de construire a unei aplicații cu multimedia de tip 1. Creați un nou proiect (Fișier | Proiect nou). Plasați TMediaPlayer pe formular; plasați componentele TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox pentru a selecta fișierul. În proprietatea FileList pentru DirectoryListBox1 și FilterComboBox1, setați FileListBox1.

În proprietatea DirList pentru DriveComboBox1, puneți DirectoryListBox1. În proprietatea Filter pentru FilterComboBox1, specificați extensiile de fișiere necesare:

Fișier AVI(*.avi)|*.avi

Fișier WAVE(*.wav)|*.wav

Fișier MIDI(*.MID)|*.mid

Lăsați fișierul selectat să fie redat făcând dublu clic pe mouse în FileListBox1. În handlerul de evenimente OnDblClick pentru FileListBox1, specificați

Procedura TForm1.FileListBox1DblClick(Sender:TObject);

cu MediaPlayer1 face

FileName:=FileListBox1.FileName;

Aspectul formei este prezentat în Fig. 4.

Fig.4. Vedere inițială a proiectului

Salvați proiectul, rulați-l, selectați fișierul dorit și faceți dublu clic pe el. MediaPlayer ar trebui să reda acest fișier într-o fereastră separată.

După cum am menționat mai sus, videoclipul poate fi redat în interiorul unui formular, de exemplu, într-un panou. Să modificăm ușor proiectul și să adăugăm un TPanel acolo (Fig. 5). În proprietatea Display pentru MediaPlayer1, specificați Panel1. Trebuie să eliminați legenda din panou (Caption) și proprietatea BevelOuter = bvNone. Pentru a trece de la o fereastră la un panou în timpul redării, plasați un TCheckBox pe formular și scrieți în handlerul de evenimente OnClick pentru acesta:

procedura TForm1.CheckBox1Click(Expeditor: TObject);

Start_From: Longint;

cu MediaPlayer1 începe

dacă FileName="" atunci Exit;

Start_From:=Poziție;

dacă CheckBox1.Checked atunci

Poziție:=Start_From;

Lansați proiectul și redați videoclipul. Faceți clic pe CheckBox.

Orez. 5. Panou adăugat pentru redarea video și

comutator fereastră/panou

În timpul execuției programului, poate fi necesar să afișați starea curentă a obiectului MediaPlayer și a videoclipului în sine (timpul scurs de la începutul redării, durata videoclipului). Pentru aceasta, obiectul TMediaPlayer are proprietățile și evenimentele corespunzătoare: Length, Position, OnNotify etc. Să adăugăm un indicator de progres (TGauge) la proiect, care va afișa procentual cât timp a trecut (vezi Fig. 6). Puteți utiliza un cronometru pentru a actualiza citirile indicatorului. Plasați un obiect TTimer pe formular, setați-i Interval = 100 (100 milisecunde). În handlerul de evenimente OnTimer trebuie să scrieți:


procedura TForm1.Timer1Timer(Expeditor: TObject);

cu MediaPlayer1 face

dacă FileName<>"" apoi

Gauge1.Progress:=Rotund(100*Poziție/Lungime);

Fig.6: Aplicație completă pentru redarea fișierelor AVI, WAV și MDI

Lansați proiectul, selectați fișierul (AVI) și faceți dublu clic pe el. Când redați un videoclip, indicatorul de progres ar trebui să afișeze procentul corespunzător timpului scurs (Fig. 6).

3. OBIECTE DE CERCETARE, ECHIPAMENTE, MATERIALE ȘI Ajutoare vizuale

3.1. computer compatibil IBM.

3.2. Sistem de operare Windows instalat.

3.3. S-a instalat aplicația Borland Delphi.

3.4. Sistemul de ajutor al aplicației Borland Delphi.

4. SARCINA DE MUNCĂ

4.1. Studierea principiilor teoretice ale programării în mediul Borland Delphi.

4.2. Finalizarea sarcinii de programare individuală a profesorului în limitele problemelor discutate în această lucrare de laborator.

5. PROCEDURA DE EFECTUAREA LUCRĂRII

5.1. Familiarizați-vă cu principiile teoretice ale acestei lucrări de laborator.

5.2. Finalizați sarcinile individuale de programare de la profesor.

Exercitiul 1

Folosind componente multimedia, creați un program care vă permite să selectați și să vizualizați imagini video

Sarcina 2

Suplimentează programul cu capacitatea de a determina ora și dimensiunea fișierului redat

5.3. Întocmește un raport de lucru.

5.4. Apărați munca de laborator răspunzând la întrebările profesorului.

6.1. Descrierea scopului lucrării.

6.2. Principiile teoretice de bază ale lucrării

6.4. Descrierea metodologiei pentru realizarea unei sarcini individuale.

7. LISTA SURSELOR UTILIZATE

7.1. Delphi 7: [cel mai complet ghid] / A. D. Khomonenko [et al.]; editat de A. D. Khomonenko.- Sankt Petersburg. : BHV - Sankt Petersburg, 2007 .- 1216 p. : bolnav. (7 exemplare)

7.2. Programare în Delphi 7 / P. G. Darakhvelidze, E. P. Markov.- Sankt Petersburg: BHV-Petersburg, 2004 .- 784c. : bolnav. (1 copie)

7.3. Osipov D. Delphi. Programare profesională. - Sankt Petersburg: Symbol-Plus, 2006. -1056 p., ill.

Două tipuri de programe multimedia

Uneori trebuie să oferiți utilizatorilor o cale simplă pentru a reda o gamă cât mai largă de fișiere și apoi să le lăsați să selecteze și să reda fișierul corespunzător. În acest caz, formularul conține de obicei TMediaPlayer, care oferă controlul redării.

Uneori, un programator poate dori să ascundă de utilizator existența unei componente TMediaPlayer. Adică, redați sunet sau video fără ca utilizatorului să-i pese de sursa acestuia. În special, sunetul poate face parte dintr-o prezentare. De exemplu, afișarea unui grafic pe ecran poate fi însoțită de o explicație înregistrată într-un fișier WAV. În timpul prezentării, utilizatorul nici măcar nu știe despre existența TMediaPlayer. Funcționează în fundal. Pentru a face acest lucru, componenta este făcută invizibilă (Visible:= False;) și controlată programatic.

În acest capitol, vom analiza un exemplu de construire a unei aplicații cu multimedia de tip 1. Creați un nou proiect (Fișier | Proiect nou). Plasați TMediaPlayer pe formular; plasați (pagina WIN 3.1) componentele TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox pentru selectarea fișierelor. În proprietatea FileList pentru DirectoryListBox1 și FilterComboBox1, setați FileListBox1. Setați proprietatea DirList pentru DriveComboBox1 la DirectoryListBox1. În proprietatea Filter pentru FilterComboBox1, specificați extensiile de fișiere necesare:

Fișier AVI (*.avi) | *.avi

Fișier WAVE (*.wav) | *.wav

Fișier MIDI (*.MID) | *.mid

Să presupunem că vrem să facem dublu clic pe componenta FileListBox1 pentru a reda fișierul selectat. Apoi, în handlerul de evenimente OnDblClick pentru FileListBox1 ar trebui să scrieți:

Procedura TForm1.FileListBox1DblClick(Sender:TObject);

cu MediaPlayer1 face

Aspectul formei este prezentat în Fig. 4.

Fig.4. Vedere inițială a proiectului

Salvați proiectul, rulați-l, selectați fișierul dorit și faceți dublu clic pe el. MediaPlayer ar trebui să reda acest fișier într-o fereastră separată.

După cum am menționat mai sus, videoclipul poate fi redat în interiorul unui formular, de exemplu, într-un panou. Să modificăm ușor proiectul și să adăugăm un TPanel acolo (vezi Fig. 5). Setați proprietatea Display pentru MediaPlayer1 la Panel1. Trebuie să eliminați legenda din panou (Caption) și să atribuiți proprietatea BevelOuter:= bvNone;

Pentru a trece de la o fereastră la un panou în timpul redării, plasați un TCheckBox pe formular și scrieți în handlerul de evenimente OnClick pentru acesta:

Start_From: Longint;



cu MediaPlayer1 face

dacă FileName ="" atunci Exit;

Start_From:= Poziție;

dacă CheckBox1.Checked, atunci Display:= Panel1

else Display:= NIL;

Poziție:= Start_From;

Lansați proiectul și redați videoclipul. Faceți clic pe componenta CheckBox.

Fig.5. S-a adăugat panou de redare video

și comutator fereastră/panou

În timpul execuției programului, poate fi necesar să afișați starea curentă a obiectului MediaPlayer și a videoclipului în sine (timpul scurs de la începutul redării, durata videoclipului). Pentru aceasta, obiectul TMediaPlayer are proprietățile și evenimentele corespunzătoare: Length, Position, OnNotify etc.

Să adăugăm un indicator de progres (TGauge) la proiect, care va afișa în procente cât timp a trecut (vezi Fig. 6). Puteți utiliza un cronometru pentru a actualiza citirile indicatorului. Plasați un obiect TTimer pe formular și setați-l la

Interval:= 100; (100 milisecunde).

În handlerul de evenimente OnTimer trebuie să scrieți:

cu MediaPlayer1 face

dacă FileName<>"" apoi

Lansați proiectul, selectați fișierul (AVI) și faceți dublu clic pe el. Când redați un videoclip, indicatorul de progres ar trebui să afișeze procentul corespunzător timpului scurs (vezi Fig. 6).

Lista pentru DEMOVideo este mai jos.

SysUtils, WinTypes, WinProcs, Mesaje, Clase, Grafică, Controale,

Forms, Dialogs, ExtCtrls, Gauges, FileCtrl, StdCtrls, MPlayer;

TForm1 = clasa (TForm)

MediaPlayer1: TMediaPlayer;

CheckBox1: TCheckBox;

FileListBox1: TFileListBox;

DirectoryListBox1: TDirectoryListBox;

DriveComboBox1: TDriveComboBox;

FilterComboBox1: TFilterComboBox;

Buton1: TBbutton;

procedura FileListBox1DblClick(Expeditor: TObject);

procedura Timer1Timer(Expeditor: TObject);

procedura CheckBox1Click(Expeditor: TObject);

procedură Button1Click(Expeditor: TObject);

(Declarații private)

(Declarații publice)

procedura TForm1.FileListBox1DblClick(Expeditor: TObject);

cu MediaPlayer1 face

FileName:= FileListBox1.FileName;

procedura TForm1.Timer1Timer(Expeditor: TObject);

cu MediaPlayer1 face

dacă FileName<>"" apoi

Gauge1.Progress:= Rotunzi (100*Poziție/Lungime);

procedura TForm1.CheckBox1Click(Expeditor: TObject);

Start_From: Longint;

cu MediaPlayer1 face

dacă FileName ="" atunci Exit;

Start_From:= Poziție;

dacă CheckBox1.Checked atunci

Display:= Panel1

Poziție:= Start_From;

procedura TForm1.Button1Click(Expeditor: TObject);

dacă FileListBox1.FileName ="" atunci Exit;

cu MediaPlayer1 face

FileName:= FileListBox1.FileName;

Fig.6. Aplicație completă de redare AVI, WAV

Înțelegând perspectivele pieței de electronice auto, producătorii moderni de sisteme multimedia se străduiesc să folosească toate cele mai noi tehnologii în crearea de noi modele. Până de curând, prezența unui sistem de navigație într-un radio era percepută ca ceva ciudat și exclusivist. Pentru piața actuală, o astfel de funcționalitate este de bază, iar concurența se mută treptat în zona comunicațiilor fără fir. În plus, noua generație de sistem multimedia auto are capacități îmbunătățite de redare audio și video. Și aceasta nu mai vorbim de capacitatea de a vă conecta la o gamă largă de dispozitive și media care pot acționa ca surse de conținut.

Informații generale despre sisteme multimedia pentru mașini

În ciuda dezvoltării conținutului funcțional și a conținutului tehnic, factorul de formă și parametrii de design ai acestor dispozitive rămân aceleași. În acest sens, creatorii se străduiesc să facă echipamente cât mai simple, compacte și fiabile. De obicei, acesta este un bloc mic care este încorporat într-o nișă specială situată pe panoul frontal. Desigur, nu se poate nega că un sistem multimedia pentru o mașină are un impact asupra meritelor estetice ale interiorului, astfel încât designul dispozitivului are o importanță deosebită. Prezența unui afișaj cu ecran tactil a devenit, de asemenea, o componentă obligatorie în dispozitivele moderne, prin care funcțiile dispozitivului sunt controlate - de la schimbarea traseelor ​​până la alocarea unei rute în navigator. Cerințele pentru electronica auto sunt deosebit de stricte în ceea ce privește ergonomia, astfel încât metoda de proiectare și control trebuie selectată cu un studiu detaliat al celor mai mici detalii.

Capabilitati acustice

În ultimii ani, sistemele audio au început să se transforme în echipamente multifuncționale. Dar sarcina inițială a unor astfel de sisteme, ca și înainte, este de a reproduce sunetul. Și în această direcție, producătorii își dezvoltă produsele nu mai puțin activ. În cele mai bune versiuni moderne, un sistem de difuzoare multimedia este un întreg complex care este echipat cu toate capacitățile unui player audio și este, de asemenea, capabil să lucreze cu o gamă largă de echipamente terțe. Astfel de modele, de regulă, au un procesor de sunet, deci pot fi conectate și la un subwoofer. Există, de asemenea, multe opțiuni cu difuzoare integrate, dar, în orice caz, astfel de dispozitive vă vor permite să personalizați imaginea sonoră pentru a se potrivi fiecărui gust folosind o gamă largă de parametri.

În ceea ce privește capacitățile de conectare, în primul rând acestea presupun cele standard.Dacă trebuie să vizionați video, ar fi o idee bună să acordați atenție conectorului HDMI, care este considerat cel mai bun canal pentru redarea sunetului și a filmelor.

Funcția de navigator

Deși această opțiune a devenit de multă vreme aproape obligatorie pentru radiourile auto, astfel de sisteme sunt încă considerate hibride. Pe piață, dispozitive similare pot fi găsite cu ușurință prin marcajul 2DIN, care indică suportul pentru funcția de navigator. Cu acest echipament, șoferul are posibilitatea de a trasa digital o rută cu o hartă afișată pe ecranul de afișare. Astăzi, chiar și multimedia din segmentul bugetar oferă un set destul de atractiv de instrumente pentru lucrul cu hărți. Ele pot fi rotite, mărite și reduse, marcate și, bineînțeles, actualizate și extinse în mod regulat la baza de date de rute. Cei mai sofisticați proprietari de mașini ar trebui să recomande hibrizi mai funcționali echipați cu antene GPS și videorecordere. Această configurație va elimina necesitatea achiziționării unui dispozitiv separat de înregistrare video. Dar asta nu este tot. Pentru a evita probleme cu inspecția rutieră, puteți achiziționa un dispozitiv care conține și un detector radar. Cu câteva sute de metri înainte de a se apropia de locația cu limita de viteză, acest dispozitiv va anunța șoferul despre această zonă.

Abilități de comunicare

Pe lângă opțiunile tradiționale de conectivitate, dispozitivele multimedia sunt, de asemenea, echipate cu o varietate de interfețe tehnologice. Printre acestea, este de remarcat USB, prin care puteți conecta echipamente audio și video, precum și conectați sistemul cu dispozitive mobile și un computer. În plus, un sistem multimedia modern auto poate oferi conexiuni wireless cu gadgeturi mobile și electronice portabile. Una dintre cele mai populare optiuni in acest sens este conectarea unui modul Bluetooth pentru comunicarea cu un telefon. Cu această conexiune, șoferul poate efectua apeluri și trimite SMS-uri folosind sistemul multimedia fără a scoate dispozitivul mobil din buzunar. În plus, „blue tooth” vă permite să personalizați redarea audio de pe același smartphone. Majoritatea modelelor noii generații au și acces la internet.

Televiziune digitală

Un televizor pe panoul central al mașinii poate părea deplasat, dar această caracteristică nu va fi de prisos. Producătorii echipează de obicei astfel de dispozitive cu antene speciale cu suporturi magnetice și o gamă largă de opțiuni. De fapt, din punct de vedere al controlului, televiziunea digitală auto poate fi comparată cu receptoarele și tunerele cu drepturi depline. Aceleași setări cu suport pentru sunet surround, căutare automată, egalizator etc. În plus, sistemul multimedia, în funcție de modificare, poate funcționa activ cu rețelele locale de transmisie. În acest scop, este utilizat sistemul LCN, care îmbunătățește eficiența recepției semnalului și calitatea difuzării.

Ce altceva de luat în considerare atunci când alegi?

Înainte de a cumpăra o unitate principală pentru o mașină, ar trebui să stabiliți o listă de sarcini pe care sistemul va trebui să le îndeplinească. În special, ar trebui să decideți cu privire la sursele de conținut și dispozitivele care vor trebui conectate la echipament. De asemenea, ar trebui să evaluați necesitatea unui senzor GPS, radio, modul Bluetooth și TV digital. Acestea sunt, desigur, opțiuni utile, dar cu astfel de echipamente, un sistem multimedia costă de câteva ori mai mult decât unul conceput exclusiv pentru reproducerea sunetului. Adevărat, în cazul dispozitivelor hibride, dimpotrivă, funcționalitatea ajută la economisirea banilor. Faptul este că complexele multifuncționale elimină necesitatea achiziționării unui DVR și a unui sistem de navigație separat.

Instalarea unui sistem multimedia

Instalarea dispozitivelor de acest tip se realizează de obicei conform unei scheme standard. Producătorii completează echipamentele cu rame speciale pentru panouri și dispozitive de prindere, care facilitează integrarea echipamentelor în nișe pregătite în acest scop. Cu toate acestea, dacă intenționați să instalați un monitor cu mai multe difuzoare, atunci configurația de instalare poate fi nestandard. Dacă în panoul central este instalat un sistem multimedia standard, atunci echipamentele cu afișaje mari sunt de obicei integrate în nișa din tavan. Dar această configurație este mai des întâlnită la echiparea monovolumelor și SUV-urilor.

Concluzie

Sistemele multimedia concepute pentru mașini arată ca complexe de divertisment, iar în unele modificări, home theater. Desigur, nu este nevoie să vorbim despre astfel de comparații în ceea ce privește caracteristicile și dimensiunile puterii, dar unele „trucuri” funcționale din sistemele tradiționale au migrat de mult în domeniul electronicii auto. Este suficient să spunem că un sistem multimedia modern permite oricărui șofer să folosească instrumente de comunicare precum Bluetooth, USB și HDMI. Și nu mai vorbim de sistemul de navigație încorporat, televiziunea digitală și capacitatea de a accesa Internetul. Un alt lucru este că proprietarul mașinii poate să nu aibă nevoie de o umplutură atât de bogată. Mai ales având în vedere costul unor astfel de dispozitive, care poate ajunge la 50-60 de mii de ruble.

Instrumente pentru crearea de aplicații multimedia

Revizuire Ce este multimedia Multimedia în Delphi Componenta TMediaPlayer Două tipuri de programe care folosesc multimedia

1. Revizuire

Delphi facilitează și simplă includerea în program a obiectelor multimedia, cum ar fi sunete, videoclipuri și muzică. Această secțiune discută cum să faceți acest lucru folosind componenta TMediaPlayer încorporată a Delphi. Managementul acestei componente în program și obținerea de informații despre starea actuală sunt discutate în detaliu.

2. Ce este multimedia

Nu există o definiție exactă a ceea ce este. Dar în acest moment și în acest loc, probabil că este mai bine să dăm cea mai generală definiție posibilă și să spunem că „multimedia” este un termen care se aplică aproape tuturor formelor de animație, sunet, video care sunt folosite pe computer.

Dând o astfel de definiție generală, trebuie spus că în această secțiune avem de-a face cu un subset de multimedia, care include:

1. Afișați videoclipul în format Microsoft Video for Windows (AVI).

2. Redați sunete și muzică din fișiere MIDI și WAVE.

Această sarcină poate fi realizată utilizând biblioteca dinamică Microsoft Multimedia Extensions pentru Windows (MMSYSTEM. DLL), ale cărei metode sunt încapsulate în componenta TMediaPlay situată pe pagina Sistem a paletei de componente Delphi.

Redarea fișierelor media poate necesita ceva hardware și software. Deci, pentru a reda sunete aveți nevoie de o placă de sunet.

3. Multimedia în Delphi

Delphi are o componentă TMediaPlayer care vă oferă acces la toate caracteristicile de bază de programare media. Această componentă este foarte ușor de utilizat. De fapt, este atât de simplu încât mulți programatori începători vor găsi mai ușor să creeze primul lor program care redă videoclipuri sau muzică, mai degrabă decât să afișeze mesajul clasic „Hello World”.

Ușurința de utilizare poate fi percepută în două moduri:

Această secțiune nu descrie detaliile apelurilor interne către funcții multimedia când componenta rulează. Tot ce trebuie să știți este că componenta se numește TMediaPlayer și că oferă acces la un set de rutine create de Microsoft numit Media Control Interface (MCI). Aceste rutine oferă programatorului acces ușor la o gamă largă de dispozitive multimedia. De fapt, lucrul cu TMediaPlayer este intuitiv și evident.

4. Componenta TMediaPlayer

Mai întâi, să creăm un nou proiect, apoi să plasăm componenta TMediaPlayer (pagina System Palette) pe formular, așa cum se arată în Figura 1.

Fig.1: Componenta TMediaPlayer pe formular.

Componenta TMediaPlayer este proiectată ca un panou de control al dispozitivului cu butoane. La fel ca la un magnetofon, există butoane pentru „redare”, „rebobinare”, „înregistrare”, etc.

După ce ați plasat componenta pe formular, veți vedea că Object Inspector conține proprietatea „FileName” (vezi Fig. 2). Faceți clic de două ori

DIV_ADBLOCK63">

Fig.3: Redarea AVI pe panou.

5. Două tipuri de programe multimedia

Uneori trebuie să oferiți utilizatorilor o modalitate ușoară de a reda o gamă cât mai largă de fișiere. Aceasta înseamnă că va trebui să oferiți utilizatorului acces la hard disk sau CD-ROM și apoi să îi permiteți să selecteze și să redea fișierul corespunzător. În acest caz, formularul conține de obicei TMediaPlayer, care oferă controlul redării.

Uneori, un programator poate dori să ascundă de utilizator existența unei componente TMediaPlayer. Adică, redați sunet sau video fără ca utilizatorului să-i pese de sursa acestuia. În special, sunetul poate face parte dintr-o prezentare. De exemplu, afișarea unui grafic pe ecran poate fi însoțită de o explicație înregistrată într-un fișier WAV. În timpul prezentării, utilizatorul nici măcar nu știe despre existența TMediaPlayer. Funcționează în fundal. Pentru a face acest lucru, componenta este făcută invizibilă (Vizibil = Fals) și controlată programatic.

6. Exemplu de program cu multimedia

În această secțiune ne vom uita la un exemplu de construire a unei aplicații cu multimedia de primul tip. Creați un nou proiect (Fișier | Proiect nou). Plasați TMediaPlayer pe formular; plasați o componentă OpenDialog1 din clasa TOpenDialog pentru a selecta un fișier. În proprietatea Filtru pentru aceasta, specificați extensiile de fișiere necesare:

Fișier AVI(*.avi)|*.avi

Fișier WAVE(*.wav)|*.wav

Fișier MIDI(*.MID)|*.mid

Plasați un buton Button1 din clasa TButton pe formular. Lăsați dialogul OpenDialog1 să fie apelat atunci când acest buton este apăsat și fișierul selectat va fi redat.
Creați un handler de evenimente OnClick pentru Button1:

Procedura TForm1.Button1Click(Sender:TObject);

cu OpenDialog1 face

dacă Execute atunci începe

MediaPlayer1. FileName:=FileName;

MediaPlayer1.Open;

MediaPlayer1.Play;

Aspectul formei este prezentat în Fig. 4

Fig. 4: Vedere inițială a proiectului

Salvați proiectul, rulați-l, selectați fișierul dorit și faceți dublu clic pe el. MediaPlayer ar trebui să reda acest fișier într-o fereastră separată.

După cum am menționat mai sus, videoclipul poate fi redat în interiorul unui formular, de exemplu, într-un panou. Să modificăm ușor proiectul și să adăugăm un TPanel acolo (vezi Fig. 5). În proprietatea Display pentru MediaPlayer1, specificați Panel1. Este necesar să eliminați inscripția de pe panou (Caption)

și proprietatea BevelOuter = bvNone. Pentru a trece de la o fereastră la un panou în timpul redării, plasați un TCheckBox pe formular și scrieți în handlerul de evenimente OnClick pentru acesta:

procedura TForm1.CheckBox1Click(Expeditor: TObject);

Start_From: Longint;

cu MediaPlayer1 începe

dacă FileName="" atunci Exit;

Start_From:=Poziție;

Panel1.Reîmprospătare;

dacă CheckBox1.Checked atunci

Poziție:=Start_From;

Lansați proiectul și redați videoclipul. Faceți clic pe CheckBox.

În timpul execuției programului, poate fi necesar să afișați starea curentă a obiectului MediaPlayer și a videoclipului în sine (timpul scurs de la începutul redării, durata videoclipului). Pentru aceasta, obiectul TMediaPlayer are proprietățile și evenimentele corespunzătoare: Length, Position, OnNotify etc. Să adăugăm un indicator de progres (TGauge) la proiect, care va afișa procentual cât timp a trecut (vezi Fig. 6). Puteți utiliza un cronometru pentru a actualiza citirile indicatorului. Plasați un obiect TTimer pe formular, setați-i Interval = milisecunde). În handlerul de evenimente OnTimer trebuie să scrieți:

procedura TForm1.Timer1Timer(Expeditor: TObject);

cu MediaPlayer1 face

dacă FileName<>"" apoi

Gauge1.Progress:=Rotund(100*Poziție/Lungime);

Lansați proiectul, selectați fișierul (AVI) și faceți dublu clic pe el. Când redați un videoclip, indicatorul de progres ar trebui să afișeze procentul corespunzător timpului scurs (vezi Fig. 6).

Ce este multimedia

Multimedia în Delphi

Componenta TMediaPlayer

Două tipuri de programe care folosesc multimedia

Exemplu de program cu multimedia

Revizuire

  1. Delphi facilitează și simplă includerea în program a obiectelor multimedia, cum ar fi sunete, videoclipuri și muzică. Acest tutorial discută cum să faceți acest lucru folosind componenta TMediaPlayer încorporată din Delphi. Managementul acestei componente în program și obținerea de informații despre starea actuală sunt discutate în detaliu.
  2. Ce este multimedia
  3. Nu există o definiție exactă a ceea ce este. Dar în acest moment și în acest loc, probabil că este mai bine să dăm cea mai generală definiție posibilă și să spunem că „multimedia” este un termen care se aplică aproape tuturor formelor de animație, sunet, video care sunt folosite pe computer.

Pentru a da o astfel de definiție generală, trebuie spus că în această lecție avem de-a face cu un subset de multimedia, care include:

1. Afișați videoclipul în format Microsoft Video for Windows (AVI).

2. Redați sunete și muzică din fișiere MIDI și WAVE.

Această sarcină poate fi realizată utilizând biblioteca dinamică Microsoft Multimedia Extensions pentru Windows (MMSYSTEM.DLL), ale cărei metode sunt încapsulate în componenta TMediaPlay situată pe pagina Sistem a paletei de componente Delphi.

Redarea fișierelor media poate necesita ceva hardware și software. Deci pentru a reda sunete ai nevoie de o placă de sunet. Pentru a reda AVI pe Windows 3.1 (sau WFW), trebuie să instalați software-ul Microsoft Video.

  1. Multimedia în Delphi
  2. Delphi are o componentă TMediaPlayer care vă oferă acces la toate caracteristicile de bază de programare media. Această componentă este foarte ușor de utilizat. De fapt, este atât de simplu încât mulți programatori începători vor găsi mai ușor să creeze primul lor program care redă videoclipuri sau muzică, mai degrabă decât să afișeze mesajul clasic „Hello World”.

Ușurința de utilizare poate fi percepută în două moduri:

 Pe de o parte, acest lucru face posibil ca oricine să creeze aplicații multimedia.

 Pe de altă parte, este posibil să descoperiți că nu toate caracteristicile sunt implementate în componentă. Dacă doriți să utilizați funcții de nivel scăzut, va trebui să săpați destul de adânc folosind limbajul Delphi.

Această lecție nu descrie detaliile apelurilor interne către funcții multimedia atunci când componenta rulează. Tot ce trebuie să știți este că componenta se numește TMediaPlayer și că oferă acces la un set de rutine create de Microsoft numit Media Control Interface (MCI). Aceste rutine oferă programatorului acces ușor la o gamă largă de dispozitive multimedia. De fapt, lucrul cu TMediaPlayer este intuitiv și evident.

  1. Componenta TMediaPlayer

Mai întâi, să creăm un nou proiect, apoi să plasăm componenta TMediaPlayer (pagina System Palette) pe formular, așa cum se arată în Figura 1.

Fig.1: Componenta TMediaPlayer pe formular.

Componenta TMediaPlayer este proiectată ca un panou de control al dispozitivului cu butoane. La fel ca la un magnetofon, există butoane pentru „redare”, „rebobinare”, „înregistrare”, etc.

După ce ați plasat componenta pe formular, veți vedea că Object Inspector conține proprietatea „FileName” (vezi Fig. 2). Faceți clic de două ori

Fig.2: Proprietățile TMediaPlayer în Object Inspector

pe această proprietate și selectați un nume de fișier cu extensia AVI, WAV sau

M.I.D. În Fig. 2, este selectat fișierul AVI DELPHI.AVI. Apoi, trebuie să setați proprietatea AutoOpen la True.

După parcurgerea acestor pași, programul este gata de rulare. După lansarea programului, faceți clic pe butonul verde „redare” (în stânga) și veți vedea un videoclip (dacă ați selectat AVI) sau veți auzi sunetul (dacă ați selectat WAV sau MID). Dacă acest lucru nu se întâmplă sau apare un mesaj de eroare, sunt posibile două opțiuni:

  1. Ați introdus un nume de fișier incorect.
  2. Nu ați configurat corect multimedia în Windows. Aceasta înseamnă că fie nu aveți hardware-ul corespunzător, fie driverele necesare nu sunt instalate. Instalarea și configurarea driverelor se face în Panoul de control; cerințele hardware sunt date în orice carte despre multimedia (aveți nevoie de o placă de sunet, de exemplu, compatibilă cu Sound Blaster).

Deci, aveți posibilitatea de a reda fișiere AVI, MIDI și WAVE pur și simplu specificând numele fișierului.

O altă proprietate importantă a componentei TMediaPlayer este Display. Inițial, nu este completat și videoclipul este redat într-o fereastră separată. Cu toate acestea, puteți utiliza, de exemplu, un panou ca ecran pentru a afișa videoclipul. Trebuie să plasați componenta TPanel pe formular și să eliminați textul din proprietatea Caption. Apoi, pentru TMediaPlayer, în proprietatea Display, selectați Panel1 din listă. După aceasta, trebuie să lansați programul și să faceți clic pe butonul „play” (vezi Fig. 3)

Fig.3: Redarea AVI pe panou.

      1. Două tipuri de programe multimedia
      2.  Uneori trebuie să oferi utilizatorilor o modalitate simplă de a reda o gamă cât mai largă de fișiere. Aceasta înseamnă că va trebui să oferiți utilizatorului acces la hard disk sau CD-ROM și apoi să îi permiteți să selecteze și să redea fișierul corespunzător. În acest caz, formularul conține de obicei TMediaPlayer, care oferă controlul redării.

 Uneori un programator poate dori să ascundă de utilizator existența unei componente TMediaPlayer. Adică, redați sunet sau video fără ca utilizatorului să-i pese de sursa acestuia. În special, sunetul poate face parte dintr-o prezentare. De exemplu, afișarea unui grafic pe ecran poate fi însoțită de o explicație înregistrată într-un fișier WAV. În timpul prezentării, utilizatorul nici măcar nu știe despre existența TMediaPlayer. Funcționează în fundal. Pentru a face acest lucru, componenta este făcută invizibilă (Vizibil = Fals) și controlată programatic.

      Exemplu de program cu multimedia

În acest capitol, vom analiza un exemplu de construire a unei aplicații cu multimedia de tip 1. Creați un nou proiect (Fișier | Proiect nou). Plasați TMediaPlayer pe formular; plasați componentele TFileListBox, TDirectoryListBox, TDriveComboBox, TFilterComboBox pentru a selecta fișierul. În proprietatea FileList pentru DirectoryListBox1 și FilterComboBox1, setați FileListBox1. În proprietatea DirList pentru DriveComboBox1, puneți DirectoryListBox1. În proprietatea Filter pentru FilterComboBox1, specificați extensiile de fișiere necesare:

Fișier AVI(*.avi)|*.avi

Fișier WAVE(*.wav)|*.wav

Fișier MIDI(*.MID)|*.mid

Lăsați fișierul selectat să fie redat făcând dublu clic pe mouse în FileListBox1. În handlerul de evenimente OnDblClick pentru FileListBox1, specificați

Procedura TForm1.FileListBox1DblClick(Sender:TObject);

cu MediaPlayer1 face

FileName:=FileListBox1.FileName;

Aspectul formei este prezentat în Fig. 4

Fig. 4: Vedere inițială a proiectului

Salvați proiectul, rulați-l, selectați fișierul dorit și faceți dublu clic pe el. MediaPlayer ar trebui să reda acest fișier într-o fereastră separată.

După cum am menționat mai sus, videoclipul poate fi redat în interiorul unui formular, de exemplu, într-un panou. Să modificăm ușor proiectul și să adăugăm un TPanel acolo (vezi Fig. 5). În proprietatea Display pentru MediaPlayer1, specificați Panel1. Este necesar să eliminați inscripția de pe panou (Caption)

și proprietatea BevelOuter = bvNone. Pentru a trece de la o fereastră la un panou în timpul redării, plasați un TCheckBox pe formular și scrieți în handlerul de evenimente OnClick pentru acesta:

procedura TForm1.CheckBox1Click(Expeditor: TObject);

Start_From: Longint;

cu MediaPlayer1 începe

dacă FileName="" atunci Exit;

Start_From:=Poziție;

dacă CheckBox1.Checked atunci

Poziție:=Start_From;

Lansați proiectul și redați videoclipul. Faceți clic pe CheckBox.


  Fig.5: Adăugat un panou pentru redarea video și un comutator fereastră/panou.

În timpul execuției programului, poate fi necesar să afișați starea curentă a obiectului MediaPlayer și a videoclipului în sine (timpul scurs de la începutul redării, durata videoclipului). Pentru aceasta, obiectul TMediaPlayer are proprietățile și evenimentele corespunzătoare: Length, Position, OnNotify etc. Să adăugăm un indicator de progres (TGauge) la proiect, care va afișa procentual cât timp a trecut (vezi Fig. 6). Puteți utiliza un cronometru pentru a actualiza citirile indicatorului. Plasați un obiect TTimer pe formular, setați-i Interval = 100 (100 milisecunde). În handlerul de evenimente OnTimer trebuie să scrieți:

procedura TForm1.Timer1Timer(Expeditor: TObject);

cu MediaPlayer1 face

dacă FileName<>"" apoi

Gauge1.Progress:=Rotund(100*Poziție/Lungime);

Lansați proiectul, selectați fișierul (AVI) și faceți dublu clic pe el. Când redați un videoclip, indicatorul de progres ar trebui să afișeze procentul corespunzător timpului scurs (vezi Fig. 6).


  Fig.6: Aplicație completă pentru redarea fișierelor AVI, WAV și MDI.