首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

小弟我做了一个用DotNetSpeech.dll写入MP3文件的项目,如果开机启动会报 没有注册类别 (错误来自 HRESULT:0x80040154

2013-10-11 
我做了一个用DotNetSpeech.dll写入MP3文件的项目,如果开机启动会报 没有注册类别 (异常来自 HRESULT:0x800

我做了一个用DotNetSpeech.dll写入MP3文件的项目,如果开机启动会报 没有注册类别 (异常来自 HRESULT:0x80040154

SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
                    SpVoice voice = new SpVoice();
                    SpeechStreamFileMode spFileMode = SpeechStreamFileMode.SSFMCreateForWrite;
                    SpFileStream spFileStream = new SpFileStream();
                    videoName = Guid.NewGuid().ToString();
                    videoName = Application.StartupPath + "/video/" + videoName + ".wav";
                    spFileStream.Open(videoName, spFileMode, false);
                    voice.AudioOutputStream = spFileStream;
                    voice.Speak(phoneStr, spFlags);
                    voice.WaitUntilDone(1000);
                    spFileStream.Close();


上面是代码,用的是DotNetSpeech.dll,我是使用了打包部署,生成了安装文件,并且安装文件设置了系统服务,开机启动这个项目的winnet.exe文件,当安装文件安装成功之后,如果开机启动,会成功启动这个winnet.exeexe,但是会报错如下:
信息:错误信息:没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
错误源:DotNetSpeech
堆栈:   在 DotNetSpeech.SpVoiceClass.Speak(String Text, SpeechVoiceSpeakFlags Flags)

如果我这时候用任务管理器把winnet.exe这个进程关闭了,然后在安装目录手动启动winnet.exe(或者我直接用vs项目启动),不会报错,但是自己开机启动会报错,求大神给指点迷津,谢谢 winform 打包部署 .net DotNetSpeech tts
[解决办法]
估计DotNetSpeech服务还没有启动吧。
[解决办法]
对异常做处理,检测等需要的服务启动后再继续

热点排行