/// <summary> /// Speech detected handler /// </summary> /// <param name="detected"></param> private void SpeechDetectedHandler(sr.SpeechDetected detected) { // Keep speech event queue from growing infinitely if (this.state.SpeechEvents.Count == MaxSpeechEventsToRetain) { this.state.SpeechEvents.RemoveAt(0); } // Add latest event to queue this.state.SpeechEvents.Add(new EventListEntry(detected.Body)); }
/// <summary> /// Speech detected handler /// </summary> /// <param name="detected"></param> private void SpeechDetectedHandler(sr.SpeechDetected detected) { TimeSpan sinceTalk = DateTime.Now - Talker.lastSpoken; if (sinceTalk.TotalSeconds < SpeechRecognizerTalkerBlackoutSec) { Tracer.Trace("SpeechDetectedHandler in blackout at " + sinceTalk.TotalSeconds + " sec"); return; } int angle = Direction.to180fromRad(-detected.Body.Angle); Tracer.Trace("speech detected at " + angle); // register the fact: _state.AnySpeechDirection = angle; _state.AnySpeechTimeStamp = DateTime.Now; //setPan(angle); //setTilt(0); //Talker.Say(10, "" + ((int)angle)); }