小弟我做了一个用DotNetSpeech.dll写入MP3文件的项目,如果开机启动会报 没有注册类别 (错误来自 HRESULT:0x80040154
我做了一个用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服务还没有启动吧。
[解决办法]对异常做处理,检测等需要的服务启动后再继续