public void Start() { _microphone.BufferReady += MicrophoneBufferReady; _micBuffer = new byte[_microphone.GetSampleSizeInBytes(_microphone.BufferDuration)]; _recordStream = new MemoryStream(); Buffer = null; XnaFrameworkDispatcherService.StartService(); _microphone.Start(); }
public void Stop() { _shouldCallStopInTimeout = false; _microphone.Stop(); // dump remaining audio into buffer // verify cleanup ProcessMicrophoneBuffer(); XnaFrameworkDispatcherService.StopService(); _microphone.BufferReady -= MicrophoneBufferReady; _recordStream.Close(); Buffer = _recordStream.ToArray(); _recordStream.Dispose(); if (BufferReady != null) { BufferReady(this, new EventArgs()); } }