通过本文你可以学习到:将一般的 dll 文件,导入到 .net 托管的环境中;开发一个简单的文本朗读系统。
上次在用了 win7 的语音识别之后觉得真的可以在完善一下 , 后来在图书馆看杂志的时候很恰的看了一篇写语音开发的文章, 文章虽然只是简单的介绍了一下一个dll 库文件的使用, 不过我的兴趣还是蛮高的. 回来后就试验了一下.
首先下载sapi.dll 文件: http://u.115.com/file/f4d3df0e16
然后要利用 vs 自带的工具 Tlbimp.exe 把 sapi 导出到托管动态链接库中,以便在 .net 环境中使用。具体操作就是在开始程序中找到 vs 的菜单,里面有 Visual Studio Tools ,然后打开 Visual Studio 2008 命令提示。
输入命令 tlbimp [sapi.dll 完整目录 ] /out::DotNetSpeech.dll, 忽略警告和错误。
完成之后你就就可以使用这个 dll 文件了。
打开 vs008 ,新建一个 c# 项目,添加引用,引用那个 DotNetSpeech 文件。
在文件上面引入命名空间: using DotNetSpeech;
测试代码如下:
class Program
{
static void Main(string[] args)
{
SpeechVoiceSpeakFlags spFlags = SpeechVoiceSpeakFlags.SVSFlagsAsync;
SpVoice sp = new SpVoice();
sp.Speak(" 哈哈,你好,我叫胡阳 ",spFlags );
Console.Read();
}
}
没有意外的话,你就能听见电脑发出声音了。如果没有声音,请先检查你的耳麦,如果还是没有的话你可以留言。
上面的只是一个初步的应用,你还可以尽情的发挥你的想象力,比如说我喜欢看小说,不过有时候看的眼睛不舒服,那就找个人来帮我念吧。好了,有想法了,做一个吧。于是有了下面的一个小程序,你可以自己下载下来去玩耍。
展示图:
下载地址: http://u.115.com/file/f42727e66e
关于扩展开发:
其实本来我也要接着写语音识别那一部分的,就是我说话让计算机执行。但是因为系统中存在 win7 系统自带的语音识别,每次一运行代码就会启动系统的语音识别,估计 win7 系统的那个语音识别也是根据这个库开发的。所以等改天把系统改成 xp 了,再来试试。
扩展的几个方面:
1. 语音识别有点难度,文本朗读就 so easy 了,所以就单根据文本朗读你就可以做些东西,我的一个想法是,整一个糗糗的聊天窗口外挂,有人给你发信息时就可以自动读出来,虽然不太容易,不过以前类似的软件做过,就是糗糗消息炸弹,有兴趣的可以找找。还可以继续发挥。
2. 这个自然就是把语音识别添加上了,整出来一个语音对话系统,和电脑说话玩,太有意思了。等哪天我寂寞的受不了了,我就开发一个出来。(嘿嘿)
扩展网址:
http://hi.baidu.com/mrmobilerobot/blog/category/%BC%C6%CB%E3%BB%FA%D3%EF%D2%F4
原创文章,转载请注明出处:http://www.the5fire.net/?p=69