Frequenzen erkennen
-
Jetzt habe ich nur noch ein Problem und zwar: in dem Array stehen keine Zahlen von 0-256 sonder sehr große und sehr kleine auch negative Zahlen.
-
erst nach dem casten? und wenn du Zahlen zw. 0 und 255 willst solltest du für pBuff unsigned char verwenden

-
Wenn ich mit Hilfe einer Timernachricht alle 25 oder 50 ms den Puffer fülle gibt es immer eine kleine Unterbrechung des Sound wie kann ich das denn verhindern ? Ich mal irgendwas mit einem Thread gesehen weiß aber nicht wie genau ich das anstellen muss das es auch wirklich funktioniert.
-
Hallo ! Wenn ich mir den Puffer so füllen lasse dann höre ich gar nichts mehr !
Was ist ist denn da nur falsch ? Ich werde bald verrückt.#define SAMPLERATE 44100 VOID PrepareAnalyzer() { MMRESULT mmR; lpWaveFormatEx.cbSize =0; lpWaveFormatEx.nAvgBytesPerSec=SAMPLERATE*2; lpWaveFormatEx.nBlockAlign =2; lpWaveFormatEx.nChannels =1; lpWaveFormatEx.nSamplesPerSec =SAMPLERATE; lpWaveFormatEx.wBitsPerSample =16; lpWaveFormatEx.wFormatTag =WAVE_FORMAT_PCM; mmR=waveInOpen(&hWaveIn,WAVE_MAPPER,&lpWaveFormatEx,(DWORD)g_hWnd,0L,CALLBACK_WINDOW); CHECK_MMR(mmR); lpWaveHdr.dwBufferLength=WAVEDATA; lpWaveHdr.dwBytesRecorded=0; lpWaveHdr.dwFlags=0L; lpWaveHdr.dwLoops=0L; lpWaveHdr.dwUser=0L; lpWaveHdr.lpData=(LPSTR)chWaveData; mmR=waveInPrepareHeader(hWaveIn,&lpWaveHdr,sizeof(WAVEHDR)); CHECK_MMR(mmR); mmR=waveInAddBuffer(hWaveIn,&lpWaveHdr,sizeof(WAVEHDR)); CHECK_MMR(mmR); } VOID GetAudioData() { MMRESULT mmR; mmR=waveInStart(hWaveIn); CHECK_MMR(mmR); } VOID CloseAnalyzer() { if(hWaveIn!=NULL) { waveInUnprepareHeader(hWaveIn,&lpWaveHdr,sizeof(WAVEHDR)); waveInReset(hWaveIn); waveInClose(hWaveIn); } } LRESULT CALLBACK WindowProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam) { switch(msg) { case WM_COMMAND: { switch(LOWORD(wParam)) { case BTN_GETAUDIODATA: { GetAudioData(); return 0; } return 0; } } case WM_DESTROY: { CloseAnalyzer(); return 0; } case MM_WIM_DATA: { waveInAddBuffer(hWaveIn,&lpWaveHdr,sizeof(WAVEHDR)); return 0; } } return DefWindowProc(hWnd,msg,wParam,lParam); }
-
Kommen die Nachrichten denn an? Und sind hWaveIn und lpWaveHdr dort gültig?
-
Ja ich komme an den Puffer ran es ist auch alles gültig nur der Sound kommt nicht.