我的程序中有一个问题。我想将语音转换为文本,我有一个代码:
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”并说“未安装识别器”。我有一个麦克风,但我不知道为什么这不工作。请帮助我。
答案 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。