View Full Version : [C++] eseguire mp3
ciao a tutti...
qlcn sa dirmi come faccio a mandare in esecuzione un file mp3..magari inviandolo ad un lettore quale winamp, winmediaplayer...
ho sentito parlare di MCI per la gestione dei file multimediali, ma non ci ho capito molto. :(
grazie
Ritirato, non avevo capito bene la domanda
ciao a tutti...
qlcn sa dirmi come faccio a mandare in esecuzione un file mp3..magari inviandolo ad un lettore quale winamp, winmediaplayer...
ho sentito parlare di MCI per la gestione dei file multimediali, ma non ci ho capito molto. :(
Puoi usare le ActiveX ?
Questo esegue il file mp3 con il player default:
ShellExecute(NULL, NULL, "C:\\unacartella\\unfilemp3.mp3", NULL, NULL, 0);
Questo avvia winamp con il file mp3 come parametro
ShellExecute(NULL, NULL, "C:\\programmi\\winamp\winamp.exe", "C:\\unacartella\\unfilemp3.mp3", NULL, 0);
Ci sono decine di modi. Puoi usare le directx di microsoft (in particolare directshow) oppure ci sono varie dll per la rete, semplicissime da usare. Se non conosci bene le directx ti consiglio audiere, che è una libreria per i file audio, molto utile nella programmazione di videogame multipiattaforma.
per kk3z
ho provato inserendo nel main
ShellExecute(NULL, NULL, "C:\\programmi\\winamp\\winamp.exe", "c:\\Tool\\Intolerance.mp3", NULL, 0);
ma non mi funziona, non è che devo includere qualche libreria?.
volevo provare usando il comando system, inserendo il path del programma (winamp) tra virgolette
system("c:\\programmi\\winamp\\winamp.exe");
è così mi funziona, però mi lancia solo winamp...
il problema è: come faccio a dirgli anche che in argv[1] c'è il nome del file da eseguire?
esempio:
system("c:\\programmi\\winamp\\winamp.exe" << argv[1]); // ma non funziona..
qualcuno sa come fare???
grazie
fiorefiore
02-12-2005, 14:00
son curioso anke io!!! ki risolve il prob.?
A me funziona, controlla
1) che winamp sia in quella cartella
2) che il file mp3 sia in quella cartella (se è così, prova ad eseguire solo winamp senza argomenti, cioè togli il 4° argomento:
ShellExecute(NULL, NULL, "C:\\programmi\\winamp\\winamp.exe", NULL, NULL, 0);
3) che la path del file mp3 non contenga spazi, se è così includilo tra virgolette
"\"c:\documents and settings\file.mp3\""
"c:\\programmi\\winamp\\winamp.exe" << argv[1]
:mbe: :mbe: << è un operatore... il metodo giusto per concatenare delle stringhe è strcat() oppure l'operatore + con le string del c++ (e ricordati lo spazio tra la path a winamp e la path al file mp3
char winamp[260] = "c:\\programmi\\winamp\\winamp.exe"
strcat(winamp, "spazioC:\\file.mp3");
system(winamp);
con il comando system() ho risolto è mi funziona quasi perfettamente, se non fosse per il fatto che quando gli invio un file con qualche nome particolare si pianta il programma
es. (un file con piu di un trattino all'interno del nome, tipo: c:\pink floyd\track - 1 - marroned.it // cosi non funziona.....
se il file si fosse chiamato : c:\pink floyd\track - 1 marroned.it //funziona tutto perfettamente.) qualcuno sa dirmi perchè????
per quanto riguardo il comando shellexecute() il dev neanche lo riconosce.....non è che devo includere qualche libreria particolare????
grazie a tutti!!!
windows.h ... avevo capito che non ti funzionava, non che non ti riconoscesse la funzione :oink:
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.