При работе с распознаванием речи возникает ошибка - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, при работе с распознаванием речи возникает ошибка. Код программы:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Speech;
using System.Speech.Recognition;
using System.Speech.Synthesis;
using System.Diagnostics;
 
namespace VoiceRecognizationDemoApp
{
    public partial class Form1 : Form
    {
        SpeechSynthesizer ss = new SpeechSynthesizer();
        PromptBuilder pb = new PromptBuilder();
        SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
        Choices clist;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void Form1_Load(object sender, EventArgs e)
        {
            clist = new Choices();
        }
 
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            button1.Enabled = false;
            button2.Enabled = true;
            clist.Add(new string[] { "hello", "how are you", "what is the current time", "open chrome", "thank you", "close"});
            Grammar gr = new Grammar(new GrammarBuilder(clist));
            try
            {
                sre.RequestRecognizerUpdate();
                sre.LoadGrammar(gr);
                sre.SpeechRecognized += sre_SpeechRecognized;
                sre.SetInputToDefaultAudioDevice();
                sre.RecognizeAsync(RecognizeMode.Multiple); 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Error");
            }
        }
 
        private void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            switch (e.Result.Text.ToString())
            {
                case "hello":   
                    ss.SpeakAsync("Hello Mihail");
                    break;
                case "how are you":
                    ss.SpeakAsync("i am doing great Mihail. How about you?");
                    break;
                case "what is the current time":
                    ss.SpeakAsync("current time is" + DateTime.Now.ToLongTimeString());
                    break;
                case "thank you":
                    ss.SpeakAsync("not at all");
                    break;
                case "open chrome":
                    Process.Start("chrome", "http://www.google.com/");
                    break;
                case "close":
                    Application.Exit();
                    break;
            }
            textBox1.Text += e.Result.Text.ToString() + Environment.NewLine;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            sre.RecognizeAsyncStop();
            button1.Enabled = true;
            button2.Enabled = false;
        }
    }
}
Для работы с речью скачивал Microsoft Speech SDK 5.1 и Microsoft Speech API 5.1. Думаю что проблема находится именно в них. Делал все по примеру на Youtube. Прошу помочь.

Решение задачи: «При работе с распознаванием речи возникает ошибка»

textual
Листинг программы
SpeechRecognitionEngine sre = new SpeechRecognitionEngine();

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5
Похожие ответы