tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
828
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    florad florad ist offline Grünschnabel
    Registriert seit
    Dec 2010
    Beiträge
    3
    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
     

  2. #2
    Avatar von Endurion
    Endurion Endurion ist offline Mitglied Diamant
    Registriert seit
    Apr 2004
    Beiträge
    2.151
    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

  1. Antworten: 2
    Letzter Beitrag: 31.07.07, 14:13
  2. Application läuft weiter, trotz application.exit()
    Von Topsen im Forum .NET Application und Service Design
    Antworten: 3
    Letzter Beitrag: 28.06.06, 16:56
  3. Director 'exe' in html einbinden
    Von marronne im Forum Javascript & Ajax
    Antworten: 19
    Letzter Beitrag: 12.03.06, 10:30
  4. Problem: PHP -> SAP (Web Application Server)
    Von Vaio82 im Forum Coders Talk
    Antworten: 2
    Letzter Beitrag: 03.05.04, 21:12
  5. Wurm/Virus MSBlast.A (Shut Down Prob)
    Von rip im Forum Microsoft Windows
    Antworten: 1
    Letzter Beitrag: 12.08.03, 20:05