public void StartCapture()
 {
     try
     {
         if (_microphone == null)
         {
             _microphone = Microphone.Default;
             _microphone.BufferDuration = TimeSpan.FromMilliseconds(100);
             var sampleSize = _microphone.GetSampleSizeInBytes(_microphone.BufferDuration);
             _baBuffer = new byte[sampleSize];
             _microphone.BufferReady += MicrophoneBufferReady;
             _microphone.Start();
         }
     }
     catch (Exception)
     {
     }
 }
Esempio n. 2
0
        private MicrophoneButton(Microphone microphone)
        {
            FrameworkDispatcher.Update();
                        
            var minSupportedBufferDurationMs = 100;
            var duration = TimeSpan.FromMilliseconds(minSupportedBufferDurationMs);

            Microphone = microphone;
            Microphone.BufferDuration = duration;

            Buffer = new byte[Microphone.GetSampleSizeInBytes(duration)];
            Buffer2D = new Color[TexWidth * byte.MaxValue];

            Texture2D = Texture2D ?? Program.Renderer.LeaseFor<Gray, byte>(TexWidth, byte.MaxValue);
            Texture2D.SetData(Buffer2D);

            Microphone.BufferReady += OnBufferReady;

            Microphone.Start();            
        }