Hi! Apologies for the delayed response.
Based on what you’ve described, I think using a capture DSP would likely be the best option, since WAVWRITER specifically writes the output of the entire system to file, and while used doesn’t output any audio to your audio devices.
With a capture DSP, you would place it on a bus’ underlying channel group to capture audio for a specified time. When capturing is then disabled, the captured audio data would be either stored in memory or written to file, and can the be played back using a programmer instrument in the Studio API, or as a sound using the Core API.
If you were wanting to play back the captured data from memory, you’d likey want to use a combination of FMOD_OPENMEMORY and FMOD_OPENRAW to open the sound. Writing to file simplifies this process, but also requires extra code to actually write the audio data and WAV header - a Unity C# example of this can be found here, and a C++ example here.
If you have any further questions or run into any issues, feel free to let me know.