> ......
> if (lpWaveInHdr[0]->dwFlags == WHDR_DONE)
проверяй побитово:
if (lpWaveInHdr[0]->dwFlags & WHDR_DONE)
а если используешь колбэк (окно, поток, фунция, эвент), то получишь извещение кода буфер заполнится. в случае с эвентом надо проверять бит готовности не только буфера который ожидаешь, но и следующих (если буферов несколько), иначе система нас "обгонит" и в сигнал будет искажён
для сигнала с микрофона надо выбрать его либо ручками: в микшере звуковухи (где громкость регулируешь, иконка обычно у часов), в свойствах записи (не воспроизведения) выбрать микрофон (или (mono- stereo-) микшер, обычно слева), а чтобы не слышать самого себя в свойствах воспроизведения вырубить сигнал с микрофона. либо программно: через функции mixerOpen и др
Posted via RSDN NNTP Server 1.9 alpha