ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
828
828
EMPFEHLEN
-
Hallo,
ich versuche gerade auf meinem Board mit Windows Embedded CE 6.0 R2 ein Programm auszuführen, das eine Audiodatei aufnehmen kann.
Hier das Programm:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
#include "stdafx.h" #include <fstream> #include <iostream> #include <windows.h> using namespace std; void _tmain(int argc, _TCHAR* argv[]) { const int NUMPTS = 44100 * 10; int sampleRate = 44100; short int waveIn[NUMPTS]; HWAVEIN hWaveIn; WAVEHDR WaveInHdr; MMRESULT result; WAVEFORMATEX pFormat; pFormat.wFormatTag = WAVE_FORMAT_PCM; pFormat.nChannels = 1; pFormat.nSamplesPerSec = sampleRate; pFormat.nAvgBytesPerSec = 2 * sampleRate; pFormat.nBlockAlign = 2; pFormat.wBitsPerSample = 16; pFormat.cbSize = 0; result = waveInOpen(&hWaveIn, WAVE_MAPPER, &pFormat, 0, 0, WAVE_FORMAT_DIRECT); if(result) { char fault[256]; cout << "Gerät konnte nicht aktiviert/geöffnet werden" << endl; } WaveInHdr.lpData = (LPSTR)waveIn; WaveInHdr.dwBufferLength = 2 * NUMPTS; WaveInHdr.dwBytesRecorded = 0; WaveInHdr.dwUser = 0; WaveInHdr.dwFlags = 0; WaveInHdr.dwLoops = 0; waveInPrepareHeader(hWaveIn, &WaveInHdr, sizeof(WAVEHDR)); result = waveInAddBuffer(hWaveIn, &WaveInHdr, sizeof(WAVEHDR)); if(result) { MessageBox(NULL, (LPCWSTR)"Block konnte nicht gelesen werden", NULL, MB_OK | MB_ICONEXCLAMATION); } result = waveInStart(hWaveIn); if(result) { MessageBox(NULL, (LPCWSTR)"Aufnehmen unmöglich", NULL, MB_OK | MB_ICONEXCLAMATION); } cout << "Aufnehmen..." << endl; do { ofstream output("Flashdisk\\test.wav"); output.write(WaveInHdr.lpData, WaveInHdr.dwBytesRecorded); } while(waveInUnprepareHeader(hWaveIn, &WaveInHdr, sizeof(WAVEHDR)) == WAVERR_STILLPLAYING); waveInClose(hWaveIn); }
Dennoch bekomme ich nach den Deployen immer wieder die Meldung: "Application 'meinProgramm.exe' encountered a serious Problem and must shut down".
Was heißt das? hat es mit meiner Applikation zu tun oder eher mit dem Betriebssystem? Danke im Voraus für eure Antworten.
Gruß, Florad
-
Das ist definitiv in deiner Anwendung. Du prüfst zwar schon mal recht schön, ob Fehler bei den Funktionsaufrufen auftreten, aber du machst dann trotzdem weiter. Wenn waveInOpen fehlschlägt, solltest du eine Meldung ausgeben und das Programm abbrechen. Auf jeden Fall nicht einfach weitermachen.
Ähnliche Themen
-
Aus einer Application heraus eine neue Application starten
Von Lautsprecher im Forum JavaAntworten: 2Letzter Beitrag: 31.07.07, 14:13 -
Application läuft weiter, trotz application.exit()
Von Topsen im Forum .NET Application und Service DesignAntworten: 3Letzter Beitrag: 28.06.06, 16:56 -
Director 'exe' in html einbinden
Von marronne im Forum Javascript & AjaxAntworten: 19Letzter Beitrag: 12.03.06, 10:30 -
Problem: PHP -> SAP (Web Application Server)
Von Vaio82 im Forum Coders TalkAntworten: 2Letzter Beitrag: 03.05.04, 21:12 -
Wurm/Virus MSBlast.A (Shut Down Prob)
Von rip im Forum Microsoft WindowsAntworten: 1Letzter Beitrag: 12.08.03, 20:05





Zitieren
Login






