80040154班级未注册(Hresult的例外:0x80040154(REGDB_E_CLASSNOTREG))



Microsoft.speech.dll

中出现了一个未经处理的例外。

附加信息:通过CLSID检索COM类工厂{49428a60-C997-4D0E-9808-9808-9E326C178D58}由于以下错误而失败:80040154 class class未注册(来自HRESULT:0X8004040154(QUENGASS)。P>

我正在关注MSDN的此样本,以获取Microsoft语音平台SDK 11:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Speech;
using Microsoft.Speech.Recognition;
namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
        private void button1_Click(object sender, EventArgs e)
        {
            SpeechRecognitionEngine sre = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));                        ======>>**ERROR** 
            sre.SetInputToWaveFile(@"c:TestColors.wav");
            Choices colors = new Choices();
            colors.Add(new string[] { "red", "green", "blue" });
            GrammarBuilder gb = new GrammarBuilder();
            gb.Append(colors);
            Grammar g = new Grammar(gb);
            sre.LoadGrammar(g);
            // Register a handler for the SpeechRecognized event.
            sre.SpeechRecognized +=
              new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
            // Start recognition.
            sre.Recognize();
            sre.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(sre_SpeechRecognized);
        
        }
        private void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
        {
            MessageBox.Show("Speech recognized: " + e.Result.Text);
        }
       
    }
}

听起来您只安装了语音平台运行时的64位版本,而不是32位版本。

在我的情况下,它也有助于安装Microsoft语音平台 Runtime 。尽管我已经安装了Speech SDK和Kinect SDK。

最新更新