要想用C#開發語音程序,首先要電腦上要有Speech API(SPAI)。
大家通過讀這段內容可以了解到自己的電腦是否已經安裝SPAI:
The Speech API has been an integral component of all Microsoft Windows
versions since Windows 98. Microsoft Windows XP and Windows Server 2003
include SAPI version 5.1. Windows Vista and Windows Server 2008 include SAPI
version 5.3, while Windows 7 includes SAPI version 5.4. Code written for SAPI
5.3 (Vista)
will run on SAPI 5.4 (Windows 7) without recompiling.
在5.1及以上版本都是支持中、日、英三種語言的。
我們還是先來看個例子,結合小例子再來解釋:
新建項目-windows窗體應用程序,名稱SpeechDemo
如圖:
由於我的電腦是win7,所以可以直接添加引用:如圖:
窗體代碼:
[csharp]
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 SpeechLib;
namespace SpeechDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void btnSpeech_Click(object sender, EventArgs e)
{
SpeechVoiceSpeakFlags SpFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice Voice = new SpVoice();
Voice.Speak(textBox1.Text, SpFlags);
}
}
}
代碼很簡單,只要運行在文本框中輸入中文或者英語都可以正常的朗讀。
關於SpVoice接口下的函數可以參見:http://msdn.microsoft.com/en-us/library/ee413476(v=vs.85)
相關幫助連接:http://www.microsoft.com/en-us/Tellme/developers/default.aspx?tab=desktop
可以看到,在text-to-speech engine interface(api-level)下有很多的接口,很多的東西也是讓我們摸不著頭腦,這時候,我們應該仔細地分析,找到我們所需要的東西,看懂我們要調用的函數、接口,不要被那些我們不熟悉的東西所嚇倒,學會即學式+順便學習的方法,這一點我認為很重要的。
作者:yjjm1990