2014-09-05 2 views
1

Je cours un échantillon en utilisant la reconnaissance vocale et il ne fonctionne pas sur Windows 8 ou 2012 serveur.Reconnaissance de la parole PlatformNotSupportedException

En utilisant win8 ou win2012server, le code suivant ne renvoie pas d'enregistrements, mais il le fait dans win7.

foreach(RecognizerInfo rec in System.Speech.Recognition.SpeechRecognitionEngine.InstalledRecognizers()) 
    { 
     Console.WriteLine(rec.Culture); 
    } 

Si j'utilise un LoadGrammar utilisant le serveur Win8 ou win2012 il déclenche une exception:

_recognizer.LoadGrammar (new Grammar (new GrammarBuilder (new Choices (_numbersGrammar.Keys.ToArray()))) { Name = "Numbers_Grammar" }); 

'System.PlatformNotSupportedException' en disant que personne n'a été installé reconnaisseur.

StackTrace:

System.Speech.Recognition.RecognizerBase.Initialize (SapiRecognizer Recognizer inproc Boolean) em System.Speech.Recognition.SpeechRecognitionEngine.get_RecoBase() em System.Speech.Recognition. SpeechRecognitionEngine.LoadGrammar (grammaire grammaire) em SpeechRecognition.CaptchaSpeechManager..ctor (Int32 lettersCount, Int32 waitMilliseconds) en .... cs: ligne 289 em SpeechRecognition.Program.Main (String [] args) na e: \ TestCenter \ SpeechRec reconnais- \ SpeechRecognition \ Program.cs: Linha 24 em System.AppDomain._nExecuteAssembly (assemblage RuntimeAssembly, String [] args) dans Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
em System.Threading.ExecutionContext.RunInternal (ExecutionContext ExecutionContext, ContextCallback rappel, l'état de l'objet, Boolean preserveSyncCtx) em System.Threading.ExecutionContext.Run (ExecutionContext ExecutionContext, ContextCallback rappel, l'état de l'objet, Boolean preserveSyncCtx) em System.Threading.ExecutionContext.Run (ExecutionContext executionContext, rappel ContextCallback, état de l'objet) em System.Threading.ThreadHelper.ThreadStart()

Que dois-je installer? J'ai essayé d'installer Speech SDK 11 mais il se ferme jusqu'à achèvement oO

Quelqu'un sait-il une incompatibilité avec ce système d'exploitation?

Est-ce que quelqu'un connaît une autre bibliothèque pour cela?

Merci!

Répondre

1

Vous utilisez l'espace de noms System.Speech qui est utilisé pour Speech SDK 5.3/5.4, alors que vous devriez utiliser Microsoft.Speech qui est le Speech SDK 11 un et vous pouvez trouver son assemblage dans

« C: \ Program Files \ Microsoft SDKs \ Speech \ v11.0 \ Assembly \ Microsoft.Speech.dll "

si vous l'installez sur le chemin d'accès par défaut.

Questions connexes