like below fixes the issue I went about solving this problem by extending the MediaStreamSource class with a class that used the microphone to provide samples to the MediaElement Player. If there's any demand for this block of code I will happily post it somewhere. For now, here's a code snippet to help you out if you're trying to do the same thing:
// Provides audio samples from AudioSampleProvider property.
// (MediaStreamType parameter will always equal Audio.)
protected override void GetSampleAsync(MediaStreamType mediaStreamType)
// start the microphone capture if it's not started yet
if (microphone.State == MicrophoneState.Stopped)
// gets called back when the microphone's buffer is ready
private void microphone_BufferReady(object sender, EventArgs e)
// Retrieve audio data
// Reset MemoryStream object
// Write the newly acquired data into the memory stream
memoryStream.Write(buffer, 0, buffer.Length);
// Send out the sample
seems to work fine Probably the easiest approach is for you to save both to separate files, and then use the MixingSampleProvider to mix them together after recording. It will also be easiest if both are recorded in the same wave format (sample rate, bit depth, channel count).
How to route audio from device speaker to bluetooth speaker?