#include <windows.h>
#include <mmsystem.h>
#include <iostream>
#pragma comment(lib, "winmm.lib")
int main() {
MCI_OPEN_PARMS mciOpenParms;
MCI_PLAY_PARMS mciPlayParms;
DWORD dwReturn;
// Inicializar la estructura MCI_OPEN_PARMS
ZeroMemory(&mciOpenParms, sizeof(mciOpenParms));
mciOpenParms.dwCallback = 0; // No se necesita callback
mciOpenParms.lpstrDeviceType = (LPCSTR)MCI_DEVTYPE_AUDIO; // Tipo de dispositivo
mciOpenParms.lpstrElementName = "C:\\ruta\\a\\tu\\archivo.mp3"; // Ruta del archivo MP3
// Abrir el archivo MP3
dwReturn = mciSendCommand(0, MCI_OPEN, MCI_OPEN_ELEMENT | MCI_OPEN_TYPE, (DWORD)(LPVOID)&mciOpenParms);
if (dwReturn != 0) {
std::cerr << "Error al abrir el archivo: " << mciGetErrorString(dwReturn, NULL, 0) << std::endl;
return 1;
}
// Reproducir el archivo
mciPlayParms.dwCallback = 0; // No se necesita callback
dwReturn = mciSendCommand(mciOpenParms.wDeviceID, MCI_PLAY, 0, (DWORD)(LPVOID)&mciPlayParms);
if (dwReturn != 0) {
std::cerr << "Error al reproducir el archivo: " << mciGetErrorString(dwReturn, NULL, 0) << std::endl;
return 1;
}
// Esperar a que termine la reproducción
std::cout << "Reproduciendo... Presiona Enter para salir." << std::endl;
std::cin.get();
// Cerrar el dispositivo
mciSendCommand(mciOpenParms.wDeviceID, MCI_CLOSE, 0, 0);
return 0;
}