長年の読者、初めてのポスター。
Text to Speech 操作を実行するために、C# .Net 3.5 で Windows サービスを開発しています。
System.Speech (Microsoft Speech API 3.x) を使用しています。
サービスを Win2008 x64 サーバーにデプロイしましたが、次の例外がスローされます。
System.InvalidOperationException: No voice installed on the system or none available with the current security setting.
at System.Speech.Internal.Synthesis.VoiceSynthesis.Speak(Prompt prompt)
at System.Speech.Synthesis.SpeechSynthesizer.Speak(Prompt prompt)
at System.Speech.Synthesis.SpeechSynthesizer.Speak(String textToSpeak)
サービスはドメイン アカウントで実行されています。サービスを自分の個人用ドメイン アカウント (かなり高い特権を持つ) で実行するように変更すると、すべてが完全に機能します (そのため、音声 [Anna] が確実にインストールされます)。したがって、セキュリティ上の問題であることは間違いありません。
これを機能させるには、他のドメイン アカウントにどのようなアクセス許可/変更を加える必要がありますか?
また、MSSQL データベースの Windows 認証に使用されるため、この特定のユーザーである必要があります。
前もって感謝します。