tijian_tieying/web/dccdc.Selfhelp/frm_SpeakConfig.cs

116 lines
3.6 KiB
C#
Raw Permalink Normal View History

2025-02-20 12:14:39 +08:00
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Speech.Synthesis;
using System.Text;
using System.Windows.Forms;
namespace dccdc.Selfhelp
{
public partial class frm_SpeakConfig : Form
{
public frm_SpeakConfig()
{
InitializeComponent();
}
private void btn_exit_Click(object sender, EventArgs e)
{
this.Close();
}
private SpeechSynthesizer speaker;
ICollection<string> setting = extend.Config.AppSettings.Settings.AllKeys as ICollection<string>;
private void frm_SpeakConfig_Load(object sender, EventArgs e)
{
speaker = new SpeechSynthesizer();
foreach (InstalledVoice iv in speaker.GetInstalledVoices())
{
cbb_yyk.Items.Add(iv.VoiceInfo.Name);
}
if(setting.Contains("yyk"))
{
cbb_yyk.Text = extend.Config.AppSettings.Settings["yyk"].Value;
}
if (setting.Contains("yd"))
{
nud_yd.Value =decimal.Parse( extend.Config.AppSettings.Settings["yd"].Value);
}
if (setting.Contains("ys"))
{
nud_ys.Value = decimal.Parse(extend.Config.AppSettings.Settings["ys"].Value);
}
//cbb_voice.Text = CSystemConfig.CurrentConfig.SpeakVoice;
//nud_volume.Value = CSystemConfig.CurrentConfig.SpeakVolume;
//nud_rate.Value = CSystemConfig.CurrentConfig.SpeakRate;
}
bool iPasue = false;
private void btn_zt_Click(object sender, EventArgs e)
{
speaker.Pause();
iPasue = true;
}
private void btn_start_Click(object sender, EventArgs e)
{
if (iPasue)
{
speaker.Resume();
iPasue = false;
}
else
{
speaker.SelectVoice(cbb_yyk.Text);
speaker.Rate = (int)nud_ys.Value;
speaker.Volume = (int)nud_yd.Value;
speaker.SpeakAsync(textBox1.Text);
}
}
private void btn_stop_Click(object sender, EventArgs e)
{
speaker.SpeakAsyncCancelAll();
}
private void btn_save_Click(object sender, EventArgs e)
{
if (setting.Contains("yyk"))
{
extend.Config.AppSettings.Settings["yyk"].Value= cbb_yyk.Text ;
}
else
{
extend.Config.AppSettings.Settings.Add(new System.Configuration.KeyValueConfigurationElement("yyk", cbb_yyk.Text));
}
if (setting.Contains("yd"))
{
//nud_yd.Value = decimal.Parse(extend.Config.AppSettings.Settings["yd"].Value);
extend.Config.AppSettings.Settings["yd"].Value = nud_yd.Value.ToString();
}
else
{
extend.Config.AppSettings.Settings.Add(new System.Configuration.KeyValueConfigurationElement("yd", nud_yd.Value.ToString()));
}
if (setting.Contains("ys"))
{
//nud_ys.Value = decimal.Parse(extend.Config.AppSettings.Settings["ys"].Value);
extend.Config.AppSettings.Settings["ys"].Value = nud_ys.Value.ToString();
}
else
{
extend.Config.AppSettings.Settings.Add(new System.Configuration.KeyValueConfigurationElement("ys", nud_ys.Value.ToString()));
}
extend.Config.Save();
}
}
}