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) { } }
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(); }