ハンドルされていない例外: System.Runtime.InteropServices.COMException: CLSID {D941651C-44E6-4C17-BADF-C36826FC3424} を含むコンポーネントの COM クラス ファクトリを取得中に、次のエラーが発生しました: 80040154 クラスが登録されていません (HRESULT からの例外:0x80040154 (REGDB_E_CLASSNOTREG))。
場所 System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
場所 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
場所 System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
場所 System.Activator.CreateInstance(Type type, Boolean nonPublic)
場所 System.Activator.CreateInstance(Type type)
場所 Speech..ctor() 場所 C:\Users\owner\AppData\Local\Temporary Projects\Jarvis\Speech.cs:行 14
場所 Jarvis.Program.Main(String[] args) 場所 C:\Users\owner\AppData\Local\Temporary Projects\Jarvis\Program.cs:行 16
このエラー文がでてきて前に進むことができません。
読んでいる感じ、なにか足りないものがあるのかなと思っているのですが、なにが足りないのでしょうか...
実現したいことは、こんにちは と喋らせてみたいだけなのですが、、、
誰かわかる人いませんか!!
C#
1using System; 2using SpeechLib; 3 4public class Speech 5{ 6 //合成音声libraryの読み込み 7 private SpeechLib.SpVoice voice = null; 8 private bool hit = false; 9 10 //スピーチの読み上げ初期化 11 public Speech() 12 { 13 //合成音声を初期化 14 this.voice = new SpeechLib.SpVoice(); 15 16 17 //日本語で読み上げるengineを探し出す 18 foreach (SpObjectToken voicePerson in this.voice.GetVoices()) 19 { 20 string lang = voicePerson.GetAttribute("Language"); 21 if (lang == "411") 22 { 23 this.voice.Voice = voicePerson; 24 hit = true; 25 break; 26 } 27 } 28 29 30 31 } 32 33 public void SpeechText(string Text) 34 { 35 if (!this.hit) 36 { 37 Console.WriteLine("Harukaをインストールしてください。"); 38 Console.ReadKey(); 39 } 40 else 41 { 42 Console.WriteLine(Text); 43 this.voice.Speak(Text); 44 Console.ReadKey(); 45 } 46 } 47} 48
回答1件
あなたの回答
tips
プレビュー