it's not something I've included in NAudio, but the basic approach would be to use a BufferedWaveProvider for each output. You'd need to create a custom IWaveProvider whose Read method would either return data from the buffer if it was there, and if not, read more from the source stream and write the audio into all the buffers. So each output device could be at a slightly different point in time.
I'd like to do a code sample, but it would take me a bit of time to write, so can't do it now.
To be honest, it would be a lot easier if playing from file or memory stream to just open two WaveFileReaders, one for each output, and start each playing at the same time.
I'd like to do a code sample, but it would take me a bit of time to write, so can't do it now.
To be honest, it would be a lot easier if playing from file or memory stream to just open two WaveFileReaders, one for each output, and start each playing at the same time.