Ma question est comment puis-je charger un fichier de grammaire qui utilise les balises qu'ils listent dans les documents MSDN? Je souhaite utiliser les balises de format documentées dans MSDN sous la rubrique Balises au format grammaire (SAPI 5.3).Comment charger un fichier XML Grammaire utilisant des balises SAPI 5.3?
http://msdn.microsoft.com/en-us/library/ms723634(VS.85).aspx
Il répertorie les balises comme il DEFINE, LIST, OPT etc. Cependant chaque fois que j'essaie d'utiliser ces balises dans le fichier grammar.xml je reçois une erreur disant que cette balise est pas pris en charge.
Si vous utilisez un fichier de grammaire qui utilise uniquement les balises one-of, item, etc. Qui sont listés ici dans le MSDN; le fichier de grammaire se charge.
http://msdn.microsoft.com/en-us/library/ms870140.aspx
Je sais qu'il est probablement quelque chose de simple, mais je ne peux pas l'air de le comprendre ...
fichier grammaire ... qui fonctionne
<grammar xmlns="http://www.w3.org/2001/06/grammar"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.w3.org/2001/06/grammar
http://www.w3.org/TR/speech-grammar/grammar.xsd"
xml:lang="en-US" version="1.0" root="command">
<rule id="command" scope="public">
<one-of>
<item>nail</item>
<item>hammer</item>
<item>saw</item>
</one-of>
</rule>
</grammar>
Exemple de code --- ----------------
public Form1()
{
InitializeComponent();
// set up the recognizer
_speechRecognizer = new SpeechRecognizer();
_speechRecognizer.Enabled = false;
_speechRecognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(_speechRecognizer_SpeechRecognized);
// set up the command and control grammar
Grammar commandGrammar = new Grammar(@"grammar.xml");
commandGrammar.Name = "main command grammar";
commandGrammar.Enabled = true;
// activate the command grammer
_speechRecognizer.LoadGrammar(commandGrammar);
_speechRecognizer.Enabled = true;
}