如何用c#弹出对话框同时给出提示音
最好是用c#控制台应用实现,因为我这个程序的其他部分都是在控制台程序下编辑的;如果是用c#windows应用实现的,希望告诉我如何将其与控制台应用连接起来。
求高手指点,希望的到源程序加注释,如能帮我成果解决此问题,定会再追加悬赏~~
怎么使用messagebox能说得细点吗?比如在哪儿定义它,怎么声明?在main()函数中如何调用? 展开
1.这个只需要把内容转换成声音,如果是如现成的,直接读取就可以。
如何用C#制作文字转换成声音程序
在System.Speech命名空间下,SpeechSynthesizer类可以把文字读出来,
首先在Windows窗体项目中引入System.Speech。
2.界面部分:
3.后台代码也很简单,只不过调用了SpeechSynthesizer类的一些方法:
using System.Windows.Forms;
using System.Speech;
using System.Speech.Synthesis;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private SpeechSynthesizer ss;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ss = new SpeechSynthesizer();
}
private void buttonRead_Click(object sender, EventArgs e)
{
ss.Rate = trackBarSpeed.Value;
ss.Volume = trackBarVolumn.Value;
ss.SpeakAsync(txtMsg.Text);
}
//停止
private void buttonPause_Click(object sender, EventArgs e)
{
ss.Pause();
}
private void buttonContinue_Click(object sender, EventArgs e)
{
ss.Resume();
}
//点击按钮录音
private void buttonRecord_Click(object sender, EventArgs e)
{
//实例化对象
SpeechSynthesizer ss = new SpeechSynthesizer();
ss.Rate = trackBarSpeed.Value;
ss.Volume = trackBarVolumn.Value;
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Wave Files|*.wav";
ss.SetOutputToWaveFile(sfd.FileName);
ss.Speak(txtMsg.Text);
ss.SetOutputToDefaultAudioDevice();
MessageBox.Show("完成录音~~","提示");
}
//退出程序
private void buttonClose_Click(object sender, EventArgs e)
{
Application.Exit();
}
}
}
MessageBox弹出的是模式窗体,句柄只有在点击一个按钮后才会传给父窗体,这样如果你想让父窗体弹出提示音的话,恐怕不太好实现。
你可以自己模拟一个自定义的MessageBox,让它来进行操作,比如自带一个Timer控件每隔一段时间响一下(System.Media命名空间下的SystemSounds有好几个枚举的声音),这个自定义的MessageBox关闭时,Timer同时终止。
void test()
{
SystemSounds.【这里有好几种声音自己试】.play();
}