在我的 Windows 服务 .NET 4.0 应用程序中,我使用 SpeechSynthesizer 来语音一些文本。在 Windows XP 中运行良好,但在 Windows 7 上它不播放任何内容。为什么?
(Microsoft Server Speech Platform Runtime 11.0 + Speech Text To Speech Voice Lucia)
非常感谢,里卡多
在我的 Windows 服务 .NET 4.0 应用程序中,我使用 SpeechSynthesizer 来语音一些文本。在 Windows XP 中运行良好,但在 Windows 7 上它不播放任何内容。为什么?
(Microsoft Server Speech Platform Runtime 11.0 + Speech Text To Speech Voice Lucia)
非常感谢,里卡多
从 Vista 开始,Windows 服务无法与桌面交互。这也包括声音。如果您希望您的服务执行交互操作,您需要在登录时运行一个帮助应用程序,该应用程序与您的服务通信,并且您的服务可以指示您执行用户交互操作。
请尝试使用 System.Speech 和 System.Speech.Synthesize 而不是 Microsoft.Speech。我开发了一个使用 System.Speech 识别语音的工具,该工具在 Windows Vista、Windows 7 中对我很有用。请检查您的 Windows 语音系统是否正常工作。
http://visualstudiogallery.msdn.microsoft.com/f2964c90-68e2-4ddd-861a-bd66e5cd4434
使用“it-IT”文化
Private Sub CreateSpeechRecoginationEngine(culture As String)
Dim _culture As CultureInfo
For Each recognizer In SpeechRecognitionEngine.InstalledRecognizers
If recognizer.Culture.Name.Equals(culture) Then
_culture = recognizer.Culture
Exit For
End If
Next
If _culture Is Nothing Then _culture = SpeechRecognitionEngine.InstalledRecognizers()(0).Culture
SpeechRecognitionEngine speechRecoginationEngine = New SpeechRecognitionEngine(_culture)
End Sub