NAudio is great as a starting point for capturing and playing sound, but since Mark pointed out that delay could be a problem.
If you take the next step and want to send audio over the network, you need a codec to compress the data, since PCM or WAV are uncompressed, and for voice you need a small part of the bandwidth required for WAV. Since you are working with C #, there is a C # port for Speex called NSpeex , which may be worth a look at ..
source share