1

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

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”并说“未安装识别器”。我有一个麦克风,但我不知道为什么这不起作用。请帮我。

4

2 回答 2

0

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

于 2013-09-20T23:26:05.270 回答
0

您使用的是 System.Speech.Recognition 还是 Microsoft.Speech.Recognition? 他们是不同的。如果您使用的是 Speech Platform Runtime/SDK 11,那么您需要使用 Microsoft.Speech.Recognition。

此外,您可能需要在创建识别器时指定文化信息

于 2013-09-21T06:23:29.597 回答