コード例 #1
0
        /// <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));
        }
コード例 #2
0
        /// <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));
        }