背景
韩林师哥和丽杰师姐我们几个人进行订餐系统维护,我想的是一般新的东西都比较简单,比如这次的语音播报功能。果真,我以为的是我以为,I goti t!
理论
TTS
(从文本到语言(TextToSpeech))
应用
第一步,需要添加与其相关的类型库和引用。如图
UI层界面如下图所示。
后台代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Media;
using SpeechLib;
namespace SpeakDemo
{
#region 语音读文本Demo-2016.7.18-杨倩
/// <summary>
/// 语音读文本Demo-2016.7.18-杨倩
/// </summary>
public partial class SpeakDemo : Form
{
public SpeakDemo()
{
InitializeComponent(); //自动生成,不动
}
/// <summary>
/// 发音对象
/// </summary>
public SpVoice voice = new SpVoice();//该类是支持语音合成(TTS)的核心类。通过SpVoice对象调用TTS引擎,从而实现朗读功能。
public SpeechVoiceSpeakFlags spflags = SpeechVoiceSpeakFlags.SVSFDefault;
private static string GetTextResourceByKey(string key)
{
return Resource.Manager[key].ToString().Trim();
}
private void btnSpeak_Click(object sender, EventArgs e)
{
string OrderWord = "您当前订单有:" + txtContext.Text; //获取文本框的输入内容
string Consume = "共消费" + txtConsume.Text +"元";
voice.Rate = voice.Rate + 5; //调节语速
voice.Voice = voice.GetVoices().Item(0); //调节发音的声音类型
voice.Speak(OrderWord , spflags); //语音播报
voice.Speak(Consume , spflags);
}
}
#endregion
}