日期:2011-05-24  浏览次数:20545 次

因为挑战杯的项目和语音有关,所以在网上找了一些这方面的资料。发现微软的SAPI是一个不错的东西。

下面的程序大部分都是从MSDN中得到的,自己都还没有把SDK的文档看明白:(

有兴趣的可以参见:http://www.microsoft.com/china/community/program/originalarticles/techdoc/Cnspeech.mspx

如果找不到tlbimp命令,可以参见:http://blog.csdn.net/wayne92/archive/2006/04/08/655420.aspx

程序如下:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Threading;

using DotNetSpeech;                //这个是要用tlbimp命令生成的。
/**//*PS:发现这样更简单:项目->添加引用->COM 选择Microsoft Speech Object Library,就添加了SpeechLib(和生成的DotNetSpeech一样)*/

namespace 中文语音应用程序
...{
    /**//// <summary>
    /// Form1 的摘要说明。
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    ...{
        private System.Windows.Forms.GroupBox groupBox1;
        private System.Windows.Forms.Button buttonSynthes;
        private System.Windows.Forms.Button buttonTTStoWave;
        private System.Windows.Forms.TextBox textBox1;
        private RadioButton radioButtonChina;
        private RadioButton radioButtonEnglish;
        /**//// <summary>
        /// 必需的设计器变量。
        /// </summary>
        private System.ComponentModel.Container components = null;

        public Form1()
        ...{
            //
            // Windows 窗体设计器支持所必需的
            //
            InitializeComponent();

            //
            // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
            //
        }

        /**//// <summary>
        /// 清理所有正在使用的资源。
        /// </summary>
        protected override void Dispose( bool disposing )
        ...{
            if( disposing )
            ...{
                if (components != null)
                ...{
                    components.Dispose();
                }
            }
   &nbs