Как использовать голос в качестве команды в C#?

У меня проблемы с написанием кода в моей системе распознавания речи. Задача состоит в том, что когда пользователь говорит "круг", движок должен автоматически нарисовать круг на форме:

if(Speech == circle)
{
    DrawCircle();
}

Код, который я использую для распознавания речи...

namespace speechexampl
{
    public partial class Form1 : Form
    {

        SpeechRecognizer rec = new SpeechRecognizer();

        public Form1()
        {

            InitializeComponent();

            rec.SpeechRecognized += rec_SpeechRecognized;

        }


        void rec_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            lblLetter.Text = e.Result.Text;
        }

        void Form1_Load(object sender, EventArgs e)
        {

             var c = new Choices();
             for (var i = 0; i <= 100; i++)

             c.Add(i.ToString());

             var gb = new GrammarBuilder(c);

             var g = new Grammar(gb);

             rec.LoadGrammar(g);

             rec.Enabled = true;

         }
     }
}

//**

//> and to draw circle or rectangle:

//**

Pen myPen2 = new Pen(System.Drawing.Color.Red, 3);
Rectangle myRectangle2 = new Rectangle(95, 130, 100, 100);
graphicsObj.DrawEllipse(myPen2, myRectangle2);

Я не знаю, как объединить приведенный выше код, чтобы выполнить круг, когда так сказано. Любой связанный ответ будет отличной помощью!

1 ответ

Решение

e.Result.Text даст вам то, что сказал человек. Так что если вы хотите нарисовать круг, когда они говорят, "circle":

if (e.Result.Text == "circle") {
    //Draw a cricle
}
Другие вопросы по тегам