Kezdőoldal » Számítástechnika » Programozás » Hogy lehet . Mp3 formátumú...

Hogy lehet . Mp3 formátumú fájlt lejátszatni c++-ban megírt programmal?

Figyelt kérdés
.wav-val megy, de a .wav fájl 50 MB, míg az .mp3 kb. 5 MB.

2015. máj. 5. 07:53
1 2
 1/14 anonim ***** válasza:
100%
2015. máj. 5. 08:02
Hasznos számodra ez a válasz?
 2/14 SimkoL ***** válasza:
Windows alá kell ?
2015. máj. 5. 12:15
Hasznos számodra ez a válasz?
 3/14 A kérdező kommentje:
Igen
2015. máj. 5. 13:32
 4/14 SimkoL ***** válasza:
100%

Mivel egy normálisan telepített Win le tudja játszani az mp3-as file-okat ezért elég az mciSendCommand() és társai függvények. Delphi-ben megírtam neked, nagyon egyszerű átírni C++-ba - bocs a Delphi ezerszer jobban és gyorabban megy - Keress rá a neten ha valamit nem értesz az mciSendCommand - ra.


program Console_Mp3;


{$APPTYPE CONSOLE}


uses SysUtils, MMSystem;


var FDeviceID : cardinal;

music : string;


procedure OpenDevice;

var

OpenParm: TMCI_Open_Parms;

Error: cardinal;

begin

FillChar(OpenParm, SizeOf(TMCI_Open_Parms), 0);

OpenParm.dwCallback := 0;

OpenParm.lpstrDeviceType := '';

OpenParm.lpstrElementName := PChar(music);

OpenParm.dwCallback := 0;

Error := mciSendCommand(0, mci_Open, MCI_OPEN_ELEMENT, Longint(@OpenParm));

if Error <> 0 then

begin

WriteLn('Az eszközt nem sikerült megnyitni!');

ReadLn;

Halt(1);

end

else

FDeviceID := OpenParm.wDeviceID;

end;


procedure 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;


procedure PlayMP3;

var

PlayParm: TMCI_Play_Parms;

begin

WriteLn('Lejátszás alatt: ', music, ' Enter-re leáll');

mciSendCommand(FDeviceID, mci_Play, 0, Longint(@PlayParm));

end;


procedure StopMP3;

var

GenParm: TMCI_Generic_Parms;

begin

mciSendCommand(FDeviceID, mci_Stop, 0, Longint(@GenParm));

end;


begin

music := 'taca.mp3';

OpenDevice;

PlayMp3;

ReadLn;

StopMp3;

CloseDevice;

end.


Ez konzolból játszik.

2015. máj. 5. 13:42
Hasznos számodra ez a válasz?
 5/14 A kérdező kommentje:
Köszönöm szépen!
2015. máj. 5. 14:14
 6/14 SimkoL ***** válasza:
Át tudod írni ?
2015. máj. 5. 14:15
Hasznos számodra ez a válasz?
 7/14 A kérdező kommentje:
Valószínű... Ha elakadok, kérek segítséget...
2015. máj. 5. 22:24
 8/14 SimkoL ***** válasza:
Az mci... akármik is általában C++ kóddal vannak 'illusztrálva', bemutatva, mint szinte minden win api. Nekem is kicsit gondolkodni kellett a Delphi megfelelőjén :)
2015. máj. 5. 22:32
Hasznos számodra ez a válasz?
 9/14 A kérdező kommentje:
Köszönöm szépen! Működik!
2015. máj. 7. 10:22
 10/14 SimkoL ***** válasza:
Örülök neki, de nem bánnám ha felraknád ide is a C++ kódot, hátha érdekel még valakit.
2015. máj. 7. 13:02
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!