首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >80040154级未注册(HRESULT除外: 0x80040154 (REGDB_E_CLASSNOTREG))

80040154级未注册(HRESULT除外: 0x80040154 (REGDB_E_CLASSNOTREG))
EN

Stack Overflow用户
提问于 2014-01-23 10:11:52
回答 2查看 24.5K关注 0票数 3

System.Runtime.InteropServices.COMException类型的未处理异常发生在Microsoft.Speech.dll中 其他信息:使用CLSID {49428A60-C997-4D0E-9808-9E326C178D58}检索组件的COM类工厂,由于以下错误而失败: 80040154类未注册(HRESULT例外: 0x80040154 (REGDB_E_CLASSNOTREG))。

下面是Microsoft 11的此示例来自MSDN

代码语言:javascript
复制
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:\Test\Colors.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);
        }

       
    }
}
EN

回答 2

Stack Overflow用户

发布于 2014-01-31 21:29:20

听起来你只安装了64位版本的语音平台运行时,而没有安装32位版本。

票数 9
EN

Stack Overflow用户

发布于 2015-09-10 10:13:23

在我的例子中,它也有助于安装运行时。虽然我已经安装了Speech SDK和Kinect SDK。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21305070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档