HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

MP3 lejátszása Delphi-s programból


Példaprogram letöltése

8829 bájt

Manapság szinte nincs olyan felhasználó, akinek ne lenne MP3 formátumban tárolt fájl a gyűjteményében, és ne lenne legalább egy MP3 lejátszó program telepítve a gépére. MP3 fájl lejátszása Delphi-ből sem lehetetlen feladat, erre mutatunk be most egy egyszerű példát.
Mindenekelőtt meg kell nyitnunk azt az eszközt, ami képes az MP3 fájlok lejátszására, ha van egyáltalán ilyen telepítve a gépünkre. Ehhez az mciSendCommand függvényt használjuk. A függvénynek szüksége lesz többek között egy TMCI_Open_Parms típusú paraméterre. Ennek van egy lpstrElementName mezője, melyben meg kell adnunk a megnyitni kívánt MP3 fájl nevét az elérési útvonallal együtt.
procedure TForm1.OpenDevice;
var
  OpenParm: TMCI_Open_Parms;
  Error: cardinal;
begin
  FillChar(OpenParm, SizeOf(TMCI_Open_Parms), 0);
  OpenParm.dwCallback := 0;
  OpenParm.lpstrDeviceType := '';
  OpenParm.lpstrElementName := PChar(Edit1.Text);
  OpenParm.dwCallback := 0;
Meghívjuk az mciSendCommand függvényt, melynek paraméterei sorban a következők:
  • IDDevice. az eszköz azonosítója, amit most nem kell használnunk, mivel még csak most nyitjuk meg azt;
  • Msg: a végrehajtani kívánt művelet azonosítója, jelen esetben mci_Open;
  • Command: a végrehajtani kívánt művelet flag-jei;
  • Param: a művelet paraméterei;
Ha a függvény visszatérési értéke nem 0, akkor hiba történt. Ha sikerült megnyitni az eszközt, akkor az OpenParm változó wDeviceID mezőjéből kiolvassuk az eszköz azonosítóját.
  Error := mciSendCommand(0, mci_Open, MCI_OPEN_ELEMENT, Longint(@OpenParm));
  if Error <> 0 then
    ShowMessage('Az eszközt nem sikerült megnyitni!')
  else
    FDeviceID := OpenParm.wDeviceID;
end;
Ha sikeresen megnyitottuk a fájlt, akkor akár le is játszhatjuk azt. Ezt a példaprogramban a PlayMP3 eljárásban tesszük meg. A TMCI_Play_Parms típusú változóban megadhatnánk a lejátszás paramétereit, például, hogy melyik számokat kell lejátszani. Mivel itt csak egy fájl van, ezért ezt nem használjuk. Az mciSendCommand függvénnyel egy mci_Play üzenetet küldünk annak az eszköznek, melynek azonosítóját az FDeviceID változóban tároltunk el.
procedure TForm1.PlayMP3;
var
  PlayParm: TMCI_Play_Parms;
begin
  mciSendCommand(FDeviceID, mci_Play, 0, Longint(@PlayParm));
end;
A lejátszást természetesen meg is tudjuk állítani. Ehhez csak egy mci_Stop üzenetet kell küldeni a lejátszó eszköznek. Ha ezután újból egy mci_Play üzenetet küldünk, akkor az aktuális pozíciótól folytatódik a lejátszás.
procedure TForm1.StopMP3;
var
  GenParm: TMCI_Generic_Parms;
begin
  mciSendCommand(FDeviceID, mci_Stop, 0, Longint(@GenParm));
end;
A fájl lejátszása után le is kell zárnunk azt, amit az mci_Close üzenet elküldésével tehetünk meg.
procedure TForm1.CloseDevice;
var
  GenParm: TMCI_Generic_Parms;
  Error: cardinal;
begin
  if FDeviceID <> 0 then
  begin
    GenParm.dwCallback := 0;
    Error := mciSendCommand(FDeviceID, mci_Close, 0, Longint(@GenParm));
    if Error = 0 then FDeviceID := 0;
  end;
end;


Cikksorozat

#IDKategóriaCikk címeSorozat
3333WindowsNet Shell parancsok1. rész
3367WindowsNet Shell parancsok2. rész
3396WindowsNet Shell parancsok3. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2001 évkönyv 314. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |