Note that Media Foundation is only supported on Windows Vista and above. You only need to do this once in your application, but it doesn’t matter if you call it more than once. This requires a call to MediaFoundation.Startup(). The first step is to make sure Media Foundation is initialised. It can be any IWaveProvider, so there is no need to create a temporary WAV file before the encoding takes place. The input to the MediaFoundationEncoder doesn't actually have to be a WAV file. The WavFormat that Skype uses is 16kHz 16 bit mono PCM, and I capture the audio directly in this format, before converting it to the target format when the call finishes. The application is my new Skype Voice Changer utility, and I wanted to allow users to save their Skype conversations in a variety of different formats. And to do so, I'll walk you through a real-world example of some code I created recently that uses it. In this post I am going to explain how the NAudio MediaFoundationEncoder class can be used to convert WAV files into other formats such as WMA, AAC and MP3.