使用Microsoft System.Speech.Recognition时PlatformNotSupportedException

时间:2013-09-20 23:18:31

标签: c# .net speech-recognition text-to-speech

我的程序中有一个问题。我想将语音转换为文本,我有一个代码:

Choices sList = new Choices();
sList.Add(new string[] { "hello" });
Grammar gr = new Grammar(new GrammarBuilder(sList));
try {
    sRecognize.RequestRecognizerUpdate();
    sRecognize.LoadGrammar(gr);
    sRecognize.SpeechRecognized += sRecognize_SpeechRecognized;
    sRecognize.SetInputToDefaultAudioDevice();
    sRecognize.RecognizeAsync(RecognizeMode.Multiple);
    sRecognize.Recognize();
}
catch (Exception ex) {
    MessageBox.Show(ex.Message.ToString());
}

但是当我使用它时,Visual Studio会提供异常“platformnotsupportedexception”并说“未安装识别器”。我有一个麦克风,但我不知道为什么这不工作。请帮助我。

2 个答案:

答案 0 :(得分:0)

platformnotsupportedexception功能未在特定平台上运行时引发的异常。这意味着您可能没有安装Microsoft Speech Platform SDK 11要求和安装。在此处找到:http://msdn.microsoft.com/en-us/library/hh362873.aspx

答案 1 :(得分:0)

您使用的是System.Speech.Recognition还是Microsoft.Speech.Recognition? They're different。如果您使用的是Speech Platform Runtime / SDK 11,那么您需要使用Microsoft.Speech.Recognition。

此外,您可能需要指定cultureinfo when creating your recognizer