У меня есть это из
Я хочу использовать распознавание речи для ввода данных
, например:
если я говорю«Элемент»: я хочу установить фокус на элемент комбинированного списка и ждать, пока я выберу из списка, и то же самое для других элементов управления.
это мой код:
SpeechRecognitionEngine recEngine = new SpeechRecognitionEngine();
private void TestPage_Load(object sender, EventArgs e)
{
Choices commands = new Choices();
commands.Add(new string[] { "Item", "Quantity", "Date"});
GrammarBuilder gBuilder = new GrammarBuilder();
gBuilder.Append(commands);
Grammar grammar = new Grammar(gBuilder);
recEngine.LoadGrammarAsync(grammar);
recEngine.SetInputToDefaultAudioDevice();
recEngine.SpeechRecognized += recEngine_SpeechRecognized;
}
private void recEngine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result.Text == "Item")
{
cmbItem.Focus();
// I want to chose one item from a list using voice command
}
else if(e.Result.Text == "Quantity")
{
txtQuantity.Focus();
// I Want to set the quantity for example 25
}
else if (e.Result.Text == "Date")
{
txtDate.Focus();
//I Want to set the date
}
}
private void btnActiveVoice_Click(object sender, EventArgs e)
{
recEngine.RecognizeAsync(RecognizeMode.Multiple);
btnActiveVoice.Enabled = false;
btnDisableVoice.Enabled = true;
}
private void btnDisableVoice_Click(object sender, EventArgs e)
{
recEngine.RecognizeAsyncStop();
btnActiveVoice.Enabled = true;
btnDisableVoice.Enabled = false;
}
это насколько я могу пойти.