Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Αναπαραγωγή αρχείου *.wav

Îåêßíçóå áðü ôï ìÝëïò kostbill. Τελευταία δημοσίευση από το μέλος Apaleftopoulos στις 19-11-2007, 12:42. Υπάρχουν 1 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  12-11-2007, 17:19 37257

    Αναπαραγωγή αρχείου *.wav

    Καλησπέρα.

    Δε γνωρίζω VisualC, μόνο C. Προσπαθώ να φτιάξω ένα πρόγραμμα για να παίζει αρχεία ήχου *.wav. Έχω κοιτάξει το API στο MSDN και έχω βρεί και μερικά παραδείγματα, όμως δε μπορώ να κάνω το αρχείο να παίξει. Ο κώδικας είναι αυτός:

    void CSound4Dlg::OnButton1()
    {
        // Open the file.
        MCI_OPEN_PARMS op;
        MCI_PLAY_PARMS pp;
        MCIERROR a;

        op.dwCallback = NULL;
        op.lpstrDeviceType =  (char*)MCI_DEVTYPE_WAVEFORM_AUDIO;
        op.lpstrAlias = NULL;
        op.lpstrElementName = "c:\\1000Hz_Sine.wav";
       
        char temp[5];

        a = mciSendCommand(
            MCI_DEVTYPE_WAVEFORM_AUDIO,
            MCI_OPEN,
            MCI_WAIT | MCI_OPEN_SHAREABLE | MCI_OPEN_TYPE | MCI_OPEN_TYPE_ID,
            (DWORD)&op);
       
        if(a != 0)
        {
            sprintf(temp, "1 Error: %d", a - 256);
            MessageBox(temp);
        }

        // Play the file.
        pp.dwCallback = NULL;
       
        a = mciSendCommand(
            op.wDeviceID,
            MCI_PLAY,
            MCI_WAIT,
            (DWORD)&pp);

        if(a != 0)
        {
            sprintf(temp, "2 Error: %d", a - 256);
            MessageBox(temp);
        }
       
        /* Close the device, and wait for this operation to complete */
        mciSendCommand(op.wDeviceID, MCI_CLOSE, MCI_WAIT, (DWORD)&op);
    }

    Η συνάρτηση που στέλνει την εντολή MCI_PLAY μου επιστρέφει το error: MCIERR_UNSUPPORTED_FUNCTION.

    Η πρώτη συνάρτηση μου επιστρέφει σωστά αλλά ακόμα και να αλλάξω το όνομα του αρχείου σε όνομα που δεν υπάρχει, πάλι μου επιστρέφει σωστά.

    Έχει κανένας καμιά ιδέα?

    Ευχαριστώ πολύ.
  •  19-11-2007, 12:42 37518 σε απάντηση της 37257

    Απ: Αναπαραγωγή αρχείου *.wav

    Cheap and cheerful way Stick out tongue

    ShellExecute(NULL,_T("open"),_T("C:\\WINDOWS\\Media\\notify.wav"),_T(""),_T(""),SW_HIDE );


    Sometimes the best solution to morale problems is just to fire all of the unhappy people.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems