domingo, 15 de marzo de 2015

Reproductor de música en C++

Bueno, en esta entrada les dejo el reproductor de música, hecho en DevC++. Para que funcione correctamente, antes de compilarlo tenemos que dejar en claro este código " -lwinmm ". Para insertarlo, entraremos a opciones del proyecto >>> argumentos para el programa (parámetros) >>> enlazador (linker).

 Ya teniendo esto, luego procederemos a sobre escribir el (.exe), igual entramos a opciones del proyecto >>> opciones de construcción >>> sobreescribir archivo de salida (Ejemplo: reproMp3.exe archivo.mp3).

 Donde dice "archivo" o "nombredelarchivo", lo sustituyes por el nombre de tu canción... Y listo, quedara de maravilla tu reproductor.




 #include <iostream>
#include <string>
#include <fstream>
#include <windows.h>
#include <mmsystem.h>

/*
Debe ser compilado incluyendo en el linkado la librería winmm
En wxDev-cpp, en el menú: Proyecto -> Opciones del Proyecto,
y en la pestaña "Opciones adicionales en la Línea de Comandos",
en la casilla "Linker" añade -lwinmm

Pásale como argumento al ejecutable el nombre de archivo mp3
por ejemplo C:\> reproMp3.exe archivo.mp3
*/

using namespace std;

bool Existe ( string );
int mandatosMci ( string );

int main(int argc, char* argv[])
{
string nombreDelArchivo, lineaMandato;
bool enPausa, enMarcha;
char laSeleccion = 0;

if (argc > 1) nombreDelArchivo = argv[1];
if ( !Existe ( nombreDelArchivo ) )
{
cout << "Modo de uso:\n\t" << argv[0] << " archivo.mp3" << endl;
return 0;
}

lineaMandato = "open \"" + nombreDelArchivo + "\" type mpegvideo alias " + nombreDelArchivo;
mandatosMci ( lineaMandato );
enMarcha = false;
enPausa = false;

while(laSeleccion != '3')
{
system ( "cls" );
if (enMarcha)
cout << "1) Detener" << endl;
else cout << "1) Reproducir" << endl;
if ( enMarcha )
{
if ( enPausa )
cout << "2) Continuar" << endl;
else cout << "2) Pausar" << endl;
}
cout << "3) Salir" << endl << endl;
cout << "numero de opcion y Return: ";
cin >> laSeleccion;
switch ( laSeleccion ) {
case '1':
if ( enMarcha )
{
lineaMandato = "stop " + nombreDelArchivo;
enPausa = false;
} else lineaMandato = "play " + nombreDelArchivo + " from 0";
mandatosMci ( lineaMandato );
enMarcha = !enMarcha;
break;
case '2':
if ( enMarcha ) {
if ( enPausa )
lineaMandato = "resume " + nombreDelArchivo;
else lineaMandato = "pause " + nombreDelArchivo;
}
mandatosMci ( lineaMandato );
enPausa = !enPausa;
break;
}
}
lineaMandato = "close" + nombreDelArchivo;
mandatosMci ( lineaMandato );
return 0;
}

int mandatosMci (string laOrden){
mciSendString ( laOrden.c_str(), NULL, 0, 0 );
}

bool Existe ( string NombreArchivo )
{
ifstream fdPrueba ( NombreArchivo.c_str(), ios::in );
if( !fdPrueba )
return false;
else{
fdPrueba.close ();
return true;
}
}

No hay comentarios.:

Publicar un comentario