Hogy lehet . Mp3 formátumú fájlt lejátszatni c++-ban megírt programmal?
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.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!