MCI: Sound aufnehmen - Problem nach dem Speichern



  • Hi und hallo an alle im Forum 🙂

    Ich bin leider nicht oft hier, aber hoffe ihr könnt mir helfen mein Problem
    genauer zu durchblicken.

    Ich nehme in meiner Anwendung Sound auf. Das funktioniert auch wunderbar.
    Aber sobald ich im Explorer die Sound.wav löschen oder umbenennen möchte,
    erhalte ich die Meldung, dass die Sound.wav noch geöffnet wäre! 😡

    Hier mal der betroffene Codeauszug. Ich kann definitiv keinen Fehler finden 😕

    int idauer = 20000;
    	idauer=atoi(dauer);
    
    	idauer=idauer*1000;//dauer = in sekunden
    
    	DWORD dwMilliSeconds=idauer;
    	UINT wDeviceID;
        DWORD dwReturn;
        MCI_OPEN_PARMS mciOpenParms;
        MCI_RECORD_PARMS mciRecordParms;
        MCI_SAVE_PARMS mciSaveParms;
        MCI_PLAY_PARMS mciPlayParms;
    
        mciOpenParms.lpstrDeviceType = "waveaudio";
        mciOpenParms.lpstrElementName = "";
        if (dwReturn = mciSendCommand(0, MCI_OPEN,MCI_OPEN_ELEMENT | MCI_OPEN_TYPE,(DWORD)(LPVOID) &mciOpenParms))
        {
        }
    
        wDeviceID = mciOpenParms.wDeviceID;
    
        mciRecordParms.dwTo = dwMilliSeconds;
        if (dwReturn = mciSendCommand(wDeviceID, MCI_RECORD, 
            MCI_TO | MCI_WAIT , (DWORD)(LPVOID) &mciRecordParms))
    
    	{
            mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);
        }
    
    	mciSaveParms.lpfilename = speicherort;
        if (dwReturn = mciSendCommand(wDeviceID, MCI_SAVE,
            MCI_SAVE_FILE | MCI_WAIT, (DWORD)(LPVOID) &mciSaveParms))
    
        {
            mciSendCommand(wDeviceID, MCI_CLOSE, 0, NULL);
        }
    


  • Sorry, wenn ich hier nochmal durch Nachfragen "pusche", aber kann mir evtl.
    jemand hierzu helfen? Bin ich vlt. auch im falschen Subforum und es gehört u.U. eher nach WinAPI?



  • Hast du reindebuggt, ob das MCI_CLOSE auch aufgerufen wird und was es zurückgibt?



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    Schau doch mal mit dem Processexplorer, welcher Prozess den die Datei geöffnet hat...


Anmelden zum Antworten