C# голосовое управление

John Smith

Доброе время суток всем .
Я делаю один проект на с#
И я пытаюсь сделать голосовое управление .

Всё работает , но голосовое управление работает только 1 раз , больше не работает .
Сказал Гугл он открыл гугл но потом не открывает ничего .

Кто может помогите пожалуйста .
Зарание СПАСИБО .

Вот код ;

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 AForge.Video;
using AForge.Video.DirectShow;
using Microsoft.Speech.Recognition;

namespace w___3
{
    public partial class Form1 : Form
    {

        public Form1()
        {
            InitializeComponent();
        }

        private FilterInfoCollection webcam;
        private VideoCaptureDevice cam;

        private void Form1_Load(object sender, EventArgs e)
        {
            webcam = new FilterInfoCollection(FilterCategory.VideoInputDevice);
            foreach (FilterInfo VideoCaptureDevice in webcam)
            {
                comboBox1.Items.Add(VideoCaptureDevice.Name);
            }
            comboBox1.SelectedIndex = 0;
            cam = new VideoCaptureDevice(webcam[comboBox1.SelectedIndex].MonikerString);
            cam.NewFrame += new NewFrameEventHandler(cam_NewFrame);
            cam.Start();



        }

        void cam_NewFrame(object sender, NewFrameEventArgs eventArgs)
        {
            Bitmap bit = (Bitmap)eventArgs.Frame.Clone();
            camera.Image = bit;
        }


        static Label l;

        static void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            if (e.Result.Confidence > 0.7)
            {
                l.Text = e.Result.Text;
            }
            if (e.Result.Text == "гугл")
            {
                System.Diagnostics.Process.Start("http://www.google.com/");
            }
            if (e.Result.Text == "яндекс")
            {
                System.Diagnostics.Process.Start("http://www.yandex.com/");
            }
            if (e.Result.Text == "ютуб")
            {
                System.Diagnostics.Process.Start("http://www.youtube.com/");
            }
            if (e.Result.Text == "фейсбук")
            {
                System.Diagnostics.Process.Start("http://www.facebook.com/");
            }
            if (e.Result.Text == "опера")
            {
                System.Diagnostics.Process.Start(@"C:\Program Files\Opera\launcher.exe");
            }
        }

        private void Form1_Shown_1(object sender, EventArgs e)
        {
            l = label1;

            System.Globalization.CultureInfo ci = new System.Globalization.CultureInfo("ru-ru");
            SpeechRecognitionEngine sre = new SpeechRecognitionEngine(ci);
            sre.SetInputToDefaultAudioDevice();

            sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);


            Choices words = new Choices();
            words.Add(new string[] { "гугл", "яндекс", "ютуб", "фейсбук", "опера" });


            GrammarBuilder gb = new GrammarBuilder();
            gb.Culture = ci;
            gb.Append(words);


            Grammar g = new Grammar(gb);
            sre.LoadGrammar(g);

            sre.RecognizeAsync(RecognizeMode.Multiple);
        }

        private void bunifuImageButton1_Click(object sender, EventArgs e)
        {
            Close();
        }

        private void bunifuImageButton2_Click(object sender, EventArgs e)
        {
            WindowState = FormWindowState.Minimized;
        }

        private void bunifuImageButton3_Click(object sender, EventArgs e)
        {
            if (panel1.Width == 50)
            {
                panel1.Width = 200;
            }
            else
            {
                panel1.Width = 50;
            }
        }
    }
}

John Smith 3 месяца назадСпасибо 1
1 чел.