Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
21/07/11 16:07
zelda64
ho questo codice che fa partire una canzone la mette in pausa e la riavvia
#include <stdio.h>
#include <iostream>
#include <windows.h>
#include <mmsystem.h>  
#include <conio.h>
using namespace std;
int main()
{
    char p, i;
        cout << "premi A per avviare P per la pausa e R per riavviare " << endl;
        fflush( stdin );
        fflush( stdin );
        cin >> &p;
        cin >> &i; 
        mciSendString("play C:\canzone.mp3",NULL,0,0);
        switch(p)
        {
                  case 'p':
                       mciSendString("pause C:\canzone.mp3", NULL, 0, 0);
                       break;
                       case 'a':
                            mciSendString("play C:\canzone.mp3", NULL, 0, 0);
                            break;
                            case 'r':
                                  mciSendString("resume C:\canzone.mp3", NULL, 0, 0);
                                  break;
                                  
}
        getch(); 
        return 0;
}


solo che quando
dò due ordini ad esempio prima premo A e parte la musica poi premo P e il programma finisce comunque vorrei sapere pure come aprire un file.mp3 che voglio io senza si apra sempre la stessa canzone e come dare un ordine appena si preme un tasto grazie mille a chi mi risponderà :)
aaa
21/07/11 16:37
comina8
Il programma finisce perchè non hai inserito il tutto in un ciclo:

mciSendString("play C:\canzone.mp3",NULL,0,0);
do
   {
       int tasto=getch();
       switch(tasto)
             {
                   case 'p': ... break;
                   ....
                   case 27: break;
             }
   }
while(tasto!=27); //finche non premi ESC.


Poi penso che una volta inviata la stringa programma e canzone vadano avanti
insieme quindi così dovrebbe bastare...

Per quanto riguarda la canzone devi fare un input di una stringa da inserire poi nella funzione:

...
char Str[100];
char StrFinale[100];
scanf("%s",Str); //input nome canzone (o percorso + l'estensione)
sprintf(StrFinale,"play %s", Str); //scrive in StrFinale la stringa formattata (come una printf che al posto di scrivere sullo schermo scrive in un'altra stringa)
mciSendString(StrFinale,NULL,0,0);
Ultima modifica effettuata da comina8 21/07/11 16:37
aaa
21/07/11 18:05
Scrivimi il codice per intero così lo compilo e sono felice - zelda64 -


:nono:

No Zelda, in questo caso posta nella sezione "Il Mercatino" ... qui si spera che chi apre un thread ci metta un po' di suo per risolvere il problema ...
21/07/11 23:28
HeDo
Questo topic è in violazione di una o più norme del regolamento: pierotofy.it/pages/extras/forum/9/3839-regolamento/ .
    
Dopo averlo letto riapri un nuovo topic assicurandoti di aver rispettato le regole. Grazie per la tua pazienza.
aaa