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.
-
Schau doch mal mit dem Processexplorer, welcher Prozess den die Datei geöffnet hat...