Win32で音声を録音するプログラムを作っているのですが、関数はうまく動作しているのになぜか音が録音できません(無音で録音されてしまいます)
色々調べてみたのですが、原因がわかりませんでした。
よろしければ回答よろしくお願いします
C++
1 2 wfm.wFormatTag = WAVE_FORMAT_PCM; 3 wfm.nChannels = 1; 4 wfm.nSamplesPerSec = 44100; 5 wfm.wBitsPerSample = 8; 6 wfm.nBlockAlign = wfm.nChannels * wfm.wBitsPerSample / 8; 7 wfm.nAvgBytesPerSec = wfm.nSamplesPerSec * wfm.nBlockAlign; 8 9 WaveData = (LPBYTE)GlobalAlloc(GPTR, wfm.nAvgBytesPerSec * 100); 10 11 whdr.lpData = (LPSTR)WaveData; 12 whdr.dwBufferLength = wfm.nAvgBytesPerSec * 10; 13 whdr.dwLoops = 1; 14 15 waveInOpen(&hwi, WAVE_MAPPER, &wfm, (DWORD)hwnd, NULL, CALLBACK_WINDOW); 16 17 waveInPrepareHeader(hwi, &whdr, sizeof(whdr)); 18 19 waveInAddBuffer(hwi, &whdr, sizeof(whdr)); 20 21 test = waveInStart(hwi); 22 23 if (test != MMSYSERR_NOERROR) MessageBoxA(NULL, NULL, "fail", MB_OK); 24 25 for (int n = 0; n < 10; n++) Sleep(1000); 26 27 for (int n = 0; n < wfm.nAvgBytesPerSec * 10; n++) { 28 29 if (*(WaveData + n) != 128) { 30 31 MessageBoxA(NULL, NULL, "success", MB_OK); 32 33 break; 34 35 } 36 37 } 38
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/06/04 13:30