For voice capture - my suggestion is to grab Engine Voice Module with IVoiceCapture interface and call there GetVoiceData on tick for example.
TSharedPtr<class IVoiceCapture> VoiceCapture = FVoiceModule::Get().CreateVoiceCapture("", VoiceSampleRate, VoiceNumChannels);
VoiceCapture->GetVoiceData(VoiceBuffer, VoiceBufferSize, OutAvailableVoiceData, OutSampleCounter);