簡體   English   中英

如何在非英語Win Vista Business上使用System.Speech

[英]How to use System.Speech on non-English Win Vista Business

我想嘗試語音識別來控制程序。 我用C#編寫了測試程序,調試時每次都會發生錯誤-

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)

看來錯誤是由engine.LoadGrammar(new DictationGrammar());引起的engine.LoadGrammar(new DictationGrammar()); 在我的筆記本上,我安裝了CZECH OS Vista,這也許是語音識別語言與OS語言不同的問題。

有沒有一種方法可以在非英語操作系統中使用system.speech進行開發,還是我在某些步驟上錯了? 語言沒有問題,我想使用英語進行語音識別,但是我無法獲得英語Vista或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 + "  ";
            }
        }
      }
    }

根據DictationGrammar的MSDN文檔,無參數構造函數

為Windows桌面語音技術提供的默認聽寫語法初始化DictationGrammar類的新實例。

您的機器上是否有捷克語DicationGrammar類? 如果不是,則需要創建一個並使用其他構造函數DictationGrammar(String)並從URI中加載一個。 您也可以使用GrammarBuilder構造自己的文件並加載它,而不是使用SpeechRecognizer.LoadGrammar()

您可能還會發現此鏈接有用。 是從2008年開始的,但您確實詢問過Vista。 :-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM