La Reconnaissance Vocale Microsoft Plate-Forme

J'ai écrit une application en C# pour la reconnaissance vocale à l'aide du Système.Discours qui fonctionne très bien sur Windows 7.
Cependant, je suis après la création de la même application qui fonctionne sur windows 2003 (x86).

Mon environnement de programmation:
Windows 7 x64 Pro
Visual Studio 2008

Afin de développer cette application dans mon environnement de programmation que j'ai installé:

1.Vocale de Microsoft de la Plate - forme d'Exécution du Serveur (Version 10.1) (x86)

http://www.microsoft.com/downloads/details.aspx?FamilyID=674356C4-E742-4855-B3CC-FC4D5522C449&displaylang=en&displaylang=en

2.Microsoft Speech Platform - Kit de Développement Logiciel (SDK) (Version 10.1) (x86)

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=4d36908b-3264-49ef-b154-f23bf7f44ef4

3.Vocale De Microsoft De La Plate - Forme D'Exécution Du Serveur Langues (Version 10.1)

(ici installé SR pour fr-GB)

http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=f704cd64-1dbf-47a7-ba49-27c5843a12d5

Dans mon programme à la place de Système.Discours que j'ai utilisé Microsoft.De la parole.La reconnaissance;

Collé ce code de documentation du kit de développement:

using Microsoft.Speech.Recognition;

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
      //Create a new SpeechRecognitionEngine instance.
      sre = new SpeechRecognitionEngine();

      //Create a simple grammar that recognizes “red”, “green”, or “blue”.
      Choices colors = new Choices();
      colors.Add("red");
      colors.Add("green");
      colors.Add("blue");

      GrammarBuilder gb = new GrammarBuilder();
      gb.Append(colors);

      //Create the actual Grammar instance, and then load it into the speech recognizer.
      Grammar g = new Grammar(gb);
      sre.LoadGrammar(g);

      //Register a handler for the SpeechRecognized event.
      sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
      sre.SetInputToDefaultAudioDevice();
      sre.RecognizeAsync(RecognizeMode.Multiple);
    }

    //Simple handler for the SpeechRecognized event.
    void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
    {
      MessageBox.Show(e.Result.Text);
    }

    SpeechRecognitionEngine sre;
  }
}

J'ai aussi jeu de plateforme cible x86 dans les propriétés du projet. Le Code compile mais une fois que j'ai exécuter ou déboguer la reconnaissance ne fonctionne pas. Aucune idée de ce qui me manque?

Au moins sur Windows XP, vous ne pouvez pas exécuter le logiciel de reconnaissance vocale sans installation des composants du kit de développement SDK. Êtes-vous sûr que les composants requis existe sur l'ordinateur cible?
L'idée est de le faire fonctionner sur la machine locale d'abord et, plus tard, de le déployer pour windows 2003. Ma programmation de la machine est sous Windows 7 x64 VS2008 qui a Runtime SDK et frfr SR installé comme détaillé ci-dessus. Compile, fonctionne sur ma machine, mais il ne reconnaît pas le choix (noms de couleurs)
Lors du débogage, j'ai remarqué que dans sre = new SpeechRecognitionEngine(); propriétés: EndSilenceTmeout EndSilenceTmeoutAmbiguous jeter l'exception: "Reconnaissance paramètre n'est pas pris en charge par le module de reconnaissance mais le programme continue de s'exécuter.

OriginalL'auteur Artur Kędzior | 2010-08-30