1

在我的 Windows 服务 .NET 4.0 应用程序中,我使用 SpeechSynthesizer 来语音一些文本。在 Windows XP 中运行良好,但在 Windows 7 上它不播放任何内容。为什么?

(Microsoft Server Speech Platform Runtime 11.0 + Speech Text To Speech Voice Lucia)

非常感谢,里卡多

4

2 回答 2

1

从 Vista 开始,Windows 服务无法与桌面交互。这也包括声音。如果您希望您的服务执行交互操作,您需要在登录时运行一个帮助应用程序,该应用程序与您的服务通信,并且您的服务可以指示您执行用户交互操作。

于 2013-08-13T12:26:55.773 回答
0

请尝试使用 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
于 2013-08-13T12:26:47.450 回答