2013-02-09 4 views
-2

C#에서 간단한 음성 인식 양식을 시도했지만 문제가 있습니다. 아주 새로운 것이므로 도움주세요!C#에서 음성 인식

양면 2 오류 : 첫 번째 오류는 다음과 같습니다. "[expected" 두 번째 오류는 잘못된 토큰입니다. '; 클래스, 구조체 또는 인터페이스 멤버 선언에 아래

내 코드입니다 : 클래스의 구조에서이?

public class Grammar; 
public partial class Form1 : Form 

무엇

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Speech.Recognition; 
using System.Text.RegularExpressions; 
using System.Diagnostics; 

namespace Speech 
{ 
    public class Grammar; 
    public partial class Form1 : Form 

    { 
     private SpeechRecognitionEngine recognitionEngine; 

     public Form1() 
     { 
      InitializeComponent(); 
      recognitionEngine = new SpeechRecognitionEngine(); 
      recognitionEngine.SetInputToDefaultAudioDevice(); 
      recognitionEngine.SpeechRecognized += (s, args) => 
       { 
        string line = ""; 
        foreach (RecognizedWordUnit word in args.Result.Words) 
        { 
         if (word.Confidence > 0.8f) 
          line += word.Text + " "; 
        } 

        string command = Regex.Replace(line, "Start", "").Trim(); 

        switch (command) 
        { 
         case "Notepad": 
          Process.Start("notepad.exe"); 
          break; 
         case "Calculator": 
          Process.Start("calc.exe"); 
          break; 
         case "Paint": 
          Process.Start("mspaint.exe"); 
          break; 
        } 

        txtOutput.Text += line; 
        txtOutput.Text += Environment.NewLine; 
       }; 
      recognitionEngine.LoadGrammar(CreateGrammarObject()); 
     } 

     private void button_start_Click(object sender, EventArgs e) 
     { 
      recognitionEngine.RecognizeAsync(RecognizeMode.Multiple); 
     } 

     private void button_stop_Click(object sender, EventArgs e) 
     { 
      recognitionEngine.RecognizeAsyncStop(); 
     } 

     } 

     private Grammar CreateGrammarObject() 
     { 
      Choices commandChoices = new Choices("Calculator", "Notepad", "Internet Explorer", "Paint"); 
      GrammarBuilder grammarBuilder = new GrammarBuilder("Start"); 
      grammarBuilder.Append(commandChoices); 
      Grammar g = new Grammar(grammarBuilder); 
      return g; 
     } 


    } 
} 
+0

아() –

+0

오류에 대한 자세한 내용을 제공하십시오, 예를 들어, 내부의 인터넷 익스플로러의 선택을 무시 줄 번호. – Gigi

+0

http://stackoverflow.com/questions/12764727/speech-to-text-c-sharp-train-for-better-translation?rq=1 –

답변

2

당신이있는 것처럼, 그것은 본다 Form 건물. 그렇다면 Grammar은 어디에서 왔습니까? 첫 번째 클래스 선언 완전히 적어도 그 구문 오류를 수정해야한다고 제거 :

public partial class Form1 : Form 
+0

나는 그가 앞으로 선언을하려고 노력하고 있다고 생각한다. –

+0

@LewsTherin : 흥미 롭습니다. C++을 사용한 이후로 _ _ _ _ _ _ _ _ 시간이었습니다. – David