0

プロジェクトを実行しようとすると、次のエラーが発生します。

A timeout occurred starting the SAPI Server.

System.InvalidOperationException was unhandled
Message="A timeout occurred starting the SAPI Server."
Source="System.Speech"
StackTrace:
at System.Speech.Internal.SapiInterop.SapiRecognizer..ctor(RecognizerType type)
at System.Speech.Recognition.SpeechRecognizer..ctor()
at testdan.Form1..ctor() in C:\Users\Dany\Documents\Visual Studio 2008\Projects\testdan\testdan\Form1.cs:line 17
at testdan.Program.Main() in C:\Users\Dany\Documents\Visual Studio 2008\Projects\testdan\testdan\Program.cs:line 18
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()

Form1 コード:

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.Threading;


namespace testdan
{
    public partial class Form1 : Form
    {
        SpeechRecognizer rec = new SpeechRecognizer();

        public Form1()
        {
            InitializeComponent();
            rec.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(rec_SpeechRecognized);
        }

        void rec_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {

            lblLetter.Text = e.Result.Text;
            MessageBox.Show(e.Result.Text);
        }

        void Form1_Load(object sender, EventArgs e)
        {
            var c = new Choices();
            c.Add("close");
            c.Add("stop");
            c.Add("pause");
            var gb = new GrammarBuilder(c);
            var g = new Grammar(gb);
            rec.LoadGrammar(g);
            rec.Enabled = true;
        }

    }
}
4

3 に答える 3

0

WSR UIが表示されるまでどのくらいかかりますか?発生している可能性があるのは、WSR UIが表示されるまでに通常よりも時間がかかり、プロキシがタイムアウトしていることだと思います。

例外をキャッチしてコンストラクターを再試行してみてください。運が良ければ、WSR UIはまだ稼働しており、コンストラクターを完成させることができます。

于 2009-11-05T18:24:49.343 に答える
0

私もそれを見てきました。スタートメニューから手動でデスクトップレコグナイザーを起動してコードを実行すると、正常に動作しますが、共有レコグナイザーが自動的にロードされていないようです-理由はわかりません。

于 2009-08-10T23:23:29.183 に答える
0

SAPI が使用するドライバーが見つからないのではないでしょうか? これにより、ロード中にタイムアウトする可能性があります。

于 2009-04-20T06:50:31.370 に答える