用c#实现语音技术
2009-11-04 09:37
302 查看
“电脑朗读”(英文)一个很好的触发点,通过它可以实现电子小说阅读、英文听力测试、英文单词学习...
下面的speech已对mstts作了简单封装。
1.安装好mstts(如果你有装金山词霸,系统就已经安装了),可以在winnt/speech中打到vtxtauto.tlb文件;
2.用.net sdk自带的tlbimp工具把vtxtauto.tlb转换成.dll格式:
tlbimp vtxtauto.tlb /silent /namespace:mstts /out:mstts.dll
这时的mstts.dll已成为.net framework运行库的一个类。
3.编写一个封装vtxtauto的简单类:speech .
4.编译bedlang.speech
csc /target:library /out:bedlang.dll speech.cs /r:mstts.dll
如果用vs.net开发,可直接生成项目就可以了。
5.发音实现
6.编译demo.cs
csc demo.cs /r:bedlang.dll
vs.net环境下可直接编译成exe文件。
7.运行demo.exe
输入要要朗读的文字,程序就可朗读了啦.
下面的speech已对mstts作了简单封装。
1.安装好mstts(如果你有装金山词霸,系统就已经安装了),可以在winnt/speech中打到vtxtauto.tlb文件;
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====================== |
csc /target:library /out:bedlang.dll speech.cs /r:mstts.dll
如果用vs.net开发,可直接生成项目就可以了。
5.发音实现
/========================demo.cs====================== 分别加入label,textbox,button控件各一个到windows form中,修改它们的属性,源代码如下: using system; using system.drawing; using system.collections; using system.componentmodel; using system.windows.forms; using system.data; namespace bedlang { // // form1 的摘要说明。 // public class demo : system.windows.forms.form { private system.windows.forms.label label1; private system.windows.forms.textbox textbox1; private system.windows.forms.button button1; // // 必需的设计器变量。 // private system.componentmodel.container components = null; public demo() { / / windows 窗体设计器支持所必需的 / initializecomponent(); / / todo: 在 initializecomponent 调用后添加任何构造函数代码 / } // // 清理所有正在使用的资源。 // protected override void dispose( bool disposing ) { if( disposing ) { if (components != null) { components.dispose(); } } base.dispose( disposing ); } #region windows form designer generated code // // 设计器支持所需的方法 - 不要使用代码编辑器修改 // 此方法的内容。 // private void initializecomponent() { this.label1 = new system.windows.forms.label(); this.textbox1 = new system.windows.forms.textbox(); this.button1 = new system.windows.forms.button(); this.suspendlayout(); / / label1 / this.label1.location = new system.drawing.point(24, 16); this.label1.name = "label1"; this.label1.size = new system.drawing.size(120, 23); this.label1.tabindex = 0; this.label1.text = "输入要朗读的文字:"; / / textbox1 / this.textbox1.location = new system.drawing.point(24, 48); this.textbox1.name = "textbox1"; this.textbox1.size = new system.drawing.size(248, 21); this.textbox1.tabindex = 1; this.textbox1.text = ""; / / button1 / this.button1.location = new system.drawing.point(112, 112); this.button1.name = "button1"; this.button1.tabindex = 2; this.button1.text = "朗读"; this.button1.click += new system.eventhandler(this.button1_click); / / demo / this.autoscalebasesize = new system.drawing.size(6, 14); this.clientsize = new system.drawing.size(292, 197); this.controls.addrange(new system.windows.forms.control[] { this.button1, this.textbox1, this.label1}); this.name = "demo"; this.text = "demo"; this.resumelayout(false); } #endregion // // 应用程序的主入口点。 // [stathread] static void main() { application.run(new demo()); } private void button1_click(object sender, system.eventargs e) { speech s=new speech(); /创建一个speech对象 if(textbox1.text.length==0) s.speak("please input letter."); /发音 else s.speak(textbox1.text); } } } /========================demo.cs====================== |
csc demo.cs /r:bedlang.dll
vs.net环境下可直接编译成exe文件。
7.运行demo.exe
输入要要朗读的文字,程序就可朗读了啦.
相关文章推荐
- 用C#实现语音技术
- 用C#实现语音技术
- 用C#实现语音技术
- 用C#实现语音技术
- 用c#实现语音技术
- 用C#实现语音技术
- 用C#实现语音技术
- 用C#实现语音技术
- 用C#实现语音技术
- 用C#实现语音技术
- 用C#实现语音技术开发者在线 Builder.com.cn 更新时间:2008-07-18作者: 来源:
- 用C#实现语音技术
- C#实现语音技术
- 用C#实现语音技术
- 通过C#实现集合类纵览.NET Collections及相关技术
- C#实现语音视频录制-附demo源码
- C#实现IVR(基于东进的语音卡)-4
- [通用技术]在不同语言中用协程实现全排列算法(C++/Lua/Python/C#)
- C#下用P2P技术实现点对点聊天
- c# 语音卡控制--语音卡实现电话录音