我是c#的新手,目前正在从事一个项目,该项目涉及到我使用音频文件作为输入,并将其作为文本写入。我有使用system.speech的代码。我从http://blog.thomascsherman.com/2009/08/getting-started-with-windows-voice-recognition/获得了这段代码并进行了编译,但我在运行时遇到了问题。一旦我运行它,代码就会崩溃,控制台会说“找不到输入文件”。我意识到输入文件的路径是什么,并且我知道文件在那个文件夹中。请帮我处理这个。我正在粘贴下面的代码。
使用系统;使用System.IO;使用System.Speech;使用System.Speech.Recognition;使用System.Speech.AudioFormat;
公共班级你好{
public static void Main()
{
Hello hello= new Hello();
hello.doStuff();
}
private void doStuff()
{
SpeechRecognitionEngine sre = new SpeechRecognitionEngine();
sre.SpeechHypothesized += new EventHandler<SpeechHypothesizedEventArgs>(sre_SpeechHypothesized);
sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
sre.RecognizeCompleted += new EventHandler<RecognizeCompletedEventArgs>(sre_RecognizeCompleted);
sre.AudioSignalProblemOccurred += new EventHandler<AudioSignalProblemOccurredEventArgs>(sre_AudioSignalProblemOccurred);
sre.SpeechDetected += new EventHandler<SpeechDetectedEventArgs>(sre_SpeechDetected);
sre.SpeechRecognitionRejected += new EventHandler<SpeechRecognitionRejectedEventArgs>(sre_SpeechRecognitionRejected);
DictationGrammar dg = new DictationGrammar();
sre.LoadGrammar(dg);
sre.SetInputToWaveFile("hello.wav");
sre.EndSilenceTimeout = new TimeSpan(0, 0, 2);
sre.RecognizeAsync();
}
void sre_SpeechHypothesized(object sender, SpeechHypothesizedEventArgs e)
{
Console.WriteLine(e.Result.Text);
}
void sre_AudioSignalProblemOccurred(object sender, AudioSignalProblemOccurredEventArgs e)
{
Console.WriteLine(e.AudioSignalProblem.ToString());
}
void sre_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)
{
Console.WriteLine("Rejected!");
}
void sre_RecognizeCompleted(object sender, RecognizeCompletedEventArgs e)
{
Console.WriteLine("Recognition Complete!");
}
void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine(e.Result.Text);
}
void sre_SpeechDetected(object sender, SpeechDetectedEventArgs e)
{
Console.WriteLine("Speech Detected!");
}
}发布于 2011-01-12 10:09:03
首先,尝试设置一个绝对路径(即@"C:/my/file/is/here/hello.wav"),以确定路径是问题所在还是其他原因。
还请注意,版本和Debug构建有不同的文件夹,有时会让人感到困惑。确保该文件确实位于正确的文件夹中(为了测试这是否是问题所在,首先将hello.wav放在really和Debug文件夹中)。
https://stackoverflow.com/questions/4667473
复制相似问题