Как использовать голос в качестве команды в 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
}