我想在我的form1加载发生时打开Windows旁白,并在表单关闭时停止叙述。
http://msdn.microsoft.com/en-us/library/system.speech.synthesis.aspx
我通过上面的链接但没有帮助。 确保我的要求不是字符串。
请帮忙。
答案 0 :(得分:1)
在表单中,您希望挂钩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();