1) the buffer for each device can be found in the eventargs "e.buffer", if they´re equal you might record the same device twice ;)
2) as far as I know, you can record many devices at the same time
3) you can recieve the bytes of your float data using the method described here. Anyway, you should create a BufferedWaveprovider for each device and put your recorded data into them. Then create a MixingWaveprovider and add all BufferedWaveproviders as input. Finally, on a looped background thread, create a buffer and read the data from the MixingWaveprovider into it. Then you can resample as I mentioned above and send the bytes over network.
2) as far as I know, you can record many devices at the same time
3) you can recieve the bytes of your float data using the method described here. Anyway, you should create a BufferedWaveprovider for each device and put your recorded data into them. Then create a MixingWaveprovider and add all BufferedWaveproviders as input. Finally, on a looped background thread, create a buffer and read the data from the MixingWaveprovider into it. Then you can resample as I mentioned above and send the bytes over network.