我想在我的 form1 加载发生时打开 Windows 讲述人,并在表单关闭时停止讲述。
http://msdn.microsoft.com/en-us/library/system.speech.synthesis.aspx
我浏览了上面的链接,但没有帮助。确保我的要求不是字符串到语音。
请帮忙。
我想在我的 form1 加载发生时打开 Windows 讲述人,并在表单关闭时停止讲述。
http://msdn.microsoft.com/en-us/library/system.speech.synthesis.aspx
我浏览了上面的链接,但没有帮助。确保我的要求不是字符串到语音。
请帮忙。
在您的表单中,您想要挂钩Load
事件和FormClosing
事件。在构造函数中,初始化您的合成器。在 Load 事件中异步启动语音,然后在 FormClosing 事件中取消语音并处理您的合成器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Speech.Synthesis;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class SpeachForm : Form
{
SpeechSynthesizer _synth;
public SpeachForm()
{
InitializeComponent();
_synth = new SpeechSynthesizer();
}
private void SpeachForm_Load(object sender, EventArgs e)
{
// Configure the audio output.
_synth.SetOutputToDefaultAudioDevice();
// Speak a string.
var msg = "The text you want to say.";
_synth.SpeakAsync(msg);
}
private void SpeachForm_FormClosing(object sender, FormClosingEventArgs e)
{
_synth.SpeakAsyncCancelAll();
_synth.Dispose();
}
}
}
此表单通过以下方式从另一个表单调用:
var frm = new SpeachForm();
frm.ShowDialog();