0

제어 프로그램에 음성 인식을 사용하고 싶습니다. 나는 체코 OS Vista를 설치하고, 어쩌면 이것이 내 노트북에 engine.LoadGrammar(new DictationGrammar()); 에 의해영어 이외의 Windows Vista Business에서 System.Speech를 사용하는 방법

System.Runtime.InteropServices.COMException (0x80004005): Calling part of COM return error HRESULT E_FAIL.* 
in System.Speech.Recognition.RecognizerBase.Initialize(SapiRecognizer recognizer, Boolean inproc) 
in System.Speech.Recognition.SpeechRecognitionEngine.get_RecoBase() 
in System.Speech.Recognition.SpeechRecognitionEngine.LoadGrammar(Grammar grammar) 

그것은 오류가 발생 보이는 - 나는 C#으로 테스트 프로그램을 작성하고 미안이를 디버깅 할 때 오류가 때마다 발생 음성 인식 언어가 OS 언어와 동일하지 않은 문제.

영어가 아닌 OS에서 system.speech를 사용하여 개발하는 방법이 있습니까? 아니면 어떤 단계에서 잘못 되었나요? 언어에 문제가 없습니다. 음성 인식을 위해 영어를 사용하고 싶습니다. 그러나 영어 비스타 또는 MUI 언어 팩을 사용할 수 없습니다.

전체 코드는 다음과 같습니다.

고맙습니다.

using System; 
using System.Windows; 
using System.Speech.Recognition; 

namespace rozpoznani_reci_WPF 
{ 
    public partial class MainWindow : Window 
    { 
     public MainWindow() 
     { 
      InitializeComponent(); 

      SpeechRecognitionEngine engine = new SpeechRecognitionEngine(); 

      try 
       { 
        engine.LoadGrammar(new DictationGrammar()); 
        engine.SetInputToDefaultAudioDevice(); 
        engine.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized); 
       } 

      catch(Exception e) 
       { 
        //MessageBox.Show(e.ToString()); 
        textBox1.Text = e.ToString(); 
       } 
      } 

     void recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
     { 
      if (e.Result != null) 
      { 
       textBox1.Text = e.Result.Text + " "; 
      } 
     } 
     } 
    } 

답변

0

DictationGrammar에 MSDN 문서에 따르면, 인수가없는 생성자

는 Windows 바탕 화면 음성 기술에서 제공하는 기본 받아쓰기 문법에 대한 DictationGrammar 클래스의 새 인스턴스를 초기화합니다.

컴퓨터에서 사용할 수있는 체코 어 DicationGrammar 클래스가 있습니까? 그렇지 않다면 하나를 만들고 다른 생성자 DictationGrammar(String)을 사용하고 URI에서 하나를로드해야합니다. GrammarBuilder을 사용하여 직접 구성하고 SpeechRecognizer.LoadGrammar()을 사용하여로드 할 수도 있습니다.

유용한 정보 : this link; 그것은 2008 년이지만, 에 대해 Vista에 대해 물어보십시오. :-)

+0

귀하의 게시물을 보내 주셔서 감사합니다! 이 링크에 문제가 있습니다. 작동하지 않습니다. 체코 어 문법을 찾을 수 없었습니다. 하지만 어쨌든, 나는 음성 인식에 영어를 사용하고 싶었 기 때문에 음성 플랫폼 런타임과 SDK 11 및 언어 TELE (en-US)을 설치했지만 문법을로드하려고 할 때도 오류가 발생했습니다. – VilemRousi