2

我想用 Visual C#/C++ 编写一个简单的 Windows 应用程序,让用户输入不同的文本段,然后按一组热键随时听到 TTS 中的各种文本段。程序在后台运行时或什至在全屏应用程序有焦点时应该接受热键。

示例用例:用户输入“hello world”并将其保存为第一个文本段,然后输入“堆栈溢出”并将其保存为第二个文本段。用户可以切换到另一个程序,然后按热键 CTRL-1 听到 TTS 说“hello world”或 CTRL-2 听到 TTS 说“堆栈溢出”。该程序当然应该能够完全离线运行(以防影响任何建议)

作为旁注,我对用 Visual 进行编程还是很陌生,但是在 C#/C+ 方面有足够的背景,所以即使我主要是在 TTS 部分寻求帮助,我也愿意接受任何形式的建议如果有人以前做过这种事情。

4

3 回答 3

3

如果你想谈谈 C# 使用Introp.SpeechLib.dll

例如:

private void ReadText()
        {
            int iCounter = 0;
            while (Convert.ToInt32(numericUpDown1.Value) > iCounter)
            {
                SpVoice spVoice = new SpVoice();
                spVoice.Speak("Hello World", SpeechVoiceSpeakFlags.SVSFPurgeBeforeSpeak);
                spVoice.WaitUntilDone(Timeout.Infinite);
                iCounter = iCounter + 1;
            }
        }

阅读:语音技术

于 2010-07-23T07:20:59.390 回答
1

参考System.Speech.dll。您可以实例化 aSystem.Speech.Synthesis.Synthesizer并调用.Speak("TEXT HERE");

于 2010-07-23T08:39:19.677 回答
0

您必须使用 Microsoft 语音 SDK。

请查看此链接以获取详细信息:

http://dhavalshah.wordpress.com/2008/09/16/text-to-speech-in-c/

于 2010-07-23T07:21:54.813 回答