应用程序发言识别错误

时间:2016-07-24 14:08:30

标签: c# .net

当我运行我的C#应用​​程序时,我收到此错误:

  

“System.IO.FileNotFoundException”类型的未处理异常   发生在Microsoft.Speech.dll

     

其他信息:KivételHRESULT-értéke:0x8004503A

可能是什么问题?

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

    }

    SpeechSynthesizer sSynth = new SpeechSynthesizer();
    PromptBuilder pBuilder = new PromptBuilder();
    SpeechRecognitionEngine sRecognize = new SpeechRecognitionEngine();
    private void Form1_Load(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {
        pBuilder.ClearContent();
        pBuilder.AppendText(textBox1.Text);
        sSynth.Speak(pBuilder);
    }

    private void button2_Click(object sender, EventArgs e)
    {

    }

    private void sRecognize_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
        if (e.Result.Text == "exit")
        {
            Application.Exit();
        }
        else
        {
            textBox1.Text = textBox1.Text + " " + e.Result.Text.ToString();
        }

    }

    private void button3_Click(object sender, EventArgs e)
    {
        sRecognize.RecognizeAsyncStop();
        button2.Enabled = true;
        button3.Enabled = false;
    }
    private void enable_Click(object sender, EventArgs e)
    {
        pBuilder.ClearContent();
        pBuilder.AppendText(textBox1.Text);

            sSynth.Speak(pBuilder);



    }


    private void felismeres_Click(object sender, EventArgs e)
    {
        sSynth.Speak("What can I do to you?");
        button2.Enabled = false;
        button3.Enabled = true;
        Choices sList = new Choices();
        sList.Add(new string[] { "hello", "test", "it works", "how", "are", "you", "today", "i", "am", "fine", "exit", "close", "quit", "so" });
        Grammar gr = new Grammar(new GrammarBuilder(sList));
        try
        {
            sRecognize.RequestRecognizerUpdate();
            sRecognize.LoadGrammar(gr);
            sRecognize.SpeechRecognized += sRecognize_SpeechRecognized;
            sRecognize.SetInputToDefaultAudioDevice();
            sRecognize.RecognizeAsync(RecognizeMode.Multiple);
            sRecognize.Recognize();


        }

        catch(Exception ex)
        {
            MessageBox.Show(ex.Message);

        }
    }

    private void button3_Click_1(object sender, EventArgs e)
    {
        sRecognize.RecognizeAsyncStop();
        button2.Enabled = true;
        button3.Enabled = false;
    }
}

0 个答案:

没有答案