明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

DotNet语音技术完成

[摘要]语音实现 “电脑发音”(英文)一个很好的触发点,通过它可以实现电子小说阅读、英文听力测试、英文单词学习... 下面的Speech已对MSTTS作了简单封装。1.安装好MSTTS,可以在windows\speech中打到vtxtauto.lib文件2.用.Net SDK自带的tlbim...

语音实现

    “电脑发音”(英文)一个很好的触发点,通过它可以实现电子小说阅读、英文听力测试、英文单词学习...
    下面的Speech已对MSTTS作了简单封装。

1.安装好MSTTS,可以在windows\speech中打到vtxtauto.lib文件

2.用.Net SDK自带的tlbimp工具把vtxtauto.tlb转换成.dll格式:
  tlbimp vtxtauto.tlb /silent /namespace:mstts /out:mstts.dll
  这时的mstts.dll已成为.net framework运行库的一个类。

3.编写一个封装vtxtauto的简单类:Speech .
//========================Speech.cs======================

using System;
using mstts;  //MSTTS名称空间

namespace Bedlang{      //定义名称空间

public class Speech{

  private VTxtAuto VTxtAutoEx;

  public Speech(){
   VTxtAutoEx = new VTxtAuto(); 
   VTxtAutoEx.Register(" "," "); //注册COM组件  
  }

  public void Speak(String text){
   VTxtAutoEx.Speak(text, 0);   //发音
  }

}

}

//========================Speech.cs======================

4.编译Bedlang.Speech
  csc /target:library /out:Bedlang.dll  speech.cs /r:mstts.dll

5.发音实现
//========================demo.cs======================
using System;
using System.Windows.Forms;
using Bedlang;   //引用名称空间

public class demo : Form {     

public static void Main() {
  Application.Run( new demo() );
}

public demo(){
  Speech s = new Speech();    //创建一个Speech对象
  s.Speak("Bedlang");     //发音 
}

}
//========================demo.cs======================

6.编译demo.cs
  csc demo.cs /r:bedlang.dll

7.运行demo.exe
  程序发音啦.