Search code examples
c#.netaudiovoipnaudio

NAUDIO Multiple inputs, single output


Basically I am working with a VOIP like solution that will have multiple inputs and a single output (Combined) The input data is relayed from a server and will be combined at the client.

Initial tests used one buffered provider for everyone (One singular one) and that obviously filled up and got glitchy for more than one other person in the call. I thought about doing one buffered provider for everyone but have no idea how to properly execute this.


Solution

  • Check out this article by Mark Heath, the NAudio guru, about mixing audio:

    http://mark-dot-net.blogspot.co.uk/2014/12/mixing-and-looping-with-naudio.html

    It discusses the MixingWaveProvider32 class for mixing several IWaveProvider audio sources into one IWaveProvider output. If you're using ISampleProvider inputs, the article also mentions the MixingSampleProvider class.