Распознавание голоса с использованием System.Speech работает неправильно

Я пытался поэкспериментировать с функцией system.speech. Я видел различные онлайн-видео и веб-статьи, в которых рассказывается, как правильно ее использовать, но я не могу заставить ее работать. Я не получаю ошибок, программа компилируется как надо, но когда я говорю, ничего не происходит, я пытался изменить свой язык на en-UK и обратно на en-US, но это ничего не дало. Я использую VS17, и код выглядит следующим образом:

    SpeechRecognitionEngine recEngine = new SpeechRecognitionEngine(new CultureInfo("en-US"));

    public Form1()
    {
        InitializeComponent();
        this.TransparencyKey = (BackColor);
        this.StartPosition = FormStartPosition.Manual;
        this.Location = new Point(Convert.ToInt32(0.10), 300);
        textBox1.Visible = false;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        Choices commands = new Choices();
        commands.Add(new string[] { "hello" });
        GrammarBuilder gr = new GrammarBuilder();
        gr.Append(commands);
        Grammar grammar = new Grammar(gr);

        recEngine.LoadGrammarAsync(grammar);
        recEngine.SetInputToDefaultAudioDevice();
        recEngine.SpeechRecognized += RecEngine_SpeechRecognized;
    }

    private void RecEngine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
        switch (e.Result.Text)
        {
            case "hello":
                MessageBox.Show("Hello");
                break;
        }
    }

    private void label1_Click(object sender, EventArgs e)
    {
    }

    private void pictureBox2_Click(object sender, EventArgs e)
    {
        recEngine.RecognizeAsyncStop();
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
    }

    void button1_Click(object sender, EventArgs e)
    {
        recEngine.RecognizeAsync(RecognizeMode.Multiple);
    }
}

Редактировать: я загрузил и протестировал программу с тем же кодом, что и ниже, на двух разных компьютерах, и она отлично работает на всех из них, кроме этого. Я попытался использовать микрофон обоих компьютеров, которые распознали мою речь. Но ни один из них не сработал, так что проблема все-таки в моем ПК, возможно, мне придется загрузить какое-нибудь обновление Windows с функцией речи или что-то в этом роде. Где я могу найти это все же?


person Pedro Ribeiro    schedule 10.09.2017    source источник


Ответы (1)


Судя по всему, запуск от имени администратора решил проблему. Почему-то эта мысль даже не пришла мне в голову.

person Pedro Ribeiro    schedule 12.09.2017