首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SetInputToWaveFile

SetInputToWaveFile
EN

Stack Overflow用户
提问于 2011-01-12 10:05:27
回答 1查看 1.5K关注 0票数 2

我是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;

公共班级你好{

代码语言:javascript
复制
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!");
}


}
EN

回答 1

Stack Overflow用户

发布于 2011-01-12 10:09:03

首先,尝试设置一个绝对路径(即@"C:/my/file/is/here/hello.wav"),以确定路径是问题所在还是其他原因。

还请注意,版本和Debug构建有不同的文件夹,有时会让人感到困惑。确保该文件确实位于正确的文件夹中(为了测试这是否是问题所在,首先将hello.wav放在really和Debug文件夹中)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4667473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档