Probleme system();

kirby94460 Messages postés 19 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 12 mai 2011 - 12 nov. 2006 à 21:57
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 - 13 nov. 2006 à 03:00
bonjour mon probleme est :

quand j'utilise system("music.mp3") toutes les instructions qui suivent ne s'effectuent que si je ferme la musique precedement ouverte !

commen faire pour eviter cela ???

PLEASE HELP ME !

PS :je travaille en console sous dev c++

12 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 nov. 2006 à 22:25
system("music.mp3") ??????
Si tu veux lire de la musique, essais ceci:
http://www.codyx.org/snippet_lecture-fichier-multimedia_101.aspx

C++ (@++)<!--
0
kirby94460 Messages postés 19 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 12 mai 2011 1
12 nov. 2006 à 22:34
non music.mp3 et le nom de mon fichier mp3
ca fait pareil si j'ouvre un fichier texte ex:system("texte.txt");
le fichier texte est appelé alor texte
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 nov. 2006 à 22:34
J'explique.
Suffis de copier-coller le code (attention à la faute: bool Playing = false) puis d'utiliser PlayFile pour jouer un mp3. Tout le code qui suivera sera executer en même temps sans problème. Pour stopper le mp3, suffis d'utiliser StopPlaying.

P.S. Il faut inclure windows.h dans ton code.
P.S 2 C'est un code C++. Si tu veux du C, il faut remplacer les bool par BOOL et false et true par FALSE et TRUE.

C++ (@++)<!--
0
kirby94460 Messages postés 19 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 12 mai 2011 1
12 nov. 2006 à 22:36
ce que je veux dire c'est que lorsque j'utilise system(fichier.type);
il fo ke le fichier ouver se ferme avant de lire la suite du code et c'est ce ke je ne ve pa justement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 nov. 2006 à 22:42
Je comprend. Je ne crois pas que ce sois possible. system a l'aire
d'etre syncronome ce qui signifie que tout ton programme stop lorsque system est actif.

J'ignore ce que tu veux faire mais il faudra probablement trouver un autre moyen.

C++ (@++)<!--
0
kirby94460 Messages postés 19 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 12 mai 2011 1
12 nov. 2006 à 22:45
ok merci
0
TMONOD Messages postés 256 Date d'inscription mardi 25 novembre 2003 Statut Membre Dernière intervention 6 novembre 2009 1
12 nov. 2006 à 23:00
Bonsoir,
Un bon thread devrait faire l'affaire non ?

Jcbé[^]
0
kirby94460 Messages postés 19 Date d'inscription samedi 11 novembre 2006 Statut Membre Dernière intervention 12 mai 2011 1
12 nov. 2006 à 23:02
c quoi un thread ?peut tu me donner le code stp TMONOD ?
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 nov. 2006 à 23:05
Oui en effet.
Cependant, ça dépend beaucoup de ce qu'il veut faire. Si il veut jouer un fichier musical, un bon code fera l'affaire. Ce que je veux dire c'est qu'il est très facile de se passer de system et ne pas à avoir à créé des threads supplémentaire inutilement.

C++ (@++)<!--
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
12 nov. 2006 à 23:17
Un thread permet d'executer une fonction ou un processus en
"parallèle". C'est ce qui fais que tu peux utiliser winamp et IE "en
même temps". C'est relativement simple à utiliser:


DWORD __stdcall fonction (LPVOID param)

{

    ...


    return 0;

}



int main ()


{


    HANDLE thread;


    ...

    thread = CreateThread(0, 0, fonction, 0, 0, 0);


    ...


    CloseHandle(thread);


    ...


}



Ici, c'est fonction qui sera executer en "parallèle".


Quand tu as finis avec ton thread, tu le ferme grâce à CloseHandle



Information ICI

C++ (@++)<!--
0
julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
13 nov. 2006 à 02:37
Je me trompe ou CreateProcess ne ferait pas l'affaire?
Vive le C
Savon
0
SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
13 nov. 2006 à 03:00
Aucune idée. On ne sais pas ce qu'il veut faire.
Cependant, si on va voir quelque topic plus haut, il pause une question sur WinExec.
BruNews lui a répondue la même chose.

C++ (@++)<!--
0
Rejoignez-nous