示例#1
0
        public void Start()
        {
            _microphone.BufferReady += MicrophoneBufferReady;

            _micBuffer    = new byte[_microphone.GetSampleSizeInBytes(_microphone.BufferDuration)];
            _recordStream = new MemoryStream();
            Buffer        = null;

            XnaFrameworkDispatcherService.StartService();

            _microphone.Start();
        }
示例#2
0
        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());
            }
        }