C#简单开发文本朗读系统

通过本文你可以学习到:将一般的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

 

PS:

Speech SDK 5.1的地址:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=5e86ec97-40a7-453f-b0ee-6583171b4530&displaylang=en
 

原创文章,转载请注明出处:http://www.the5fire.net/?p=69

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用前,必须保证smartread7.dll文件在与程序相同的目录下 注意点 由于从2.1版本中加入了初始化认证函数, 不同的注册用户的smartread7.dll文件是不相同的, 如果你将smartread7.dll文件复制到系统文件夹下, 如果其他注册用户也将其注册的smartread7.dll文件复制到系统文件夹下, 就会覆盖掉你的注册smartread7.dll文件, 引起你的程序调用会出现未注册信息. 所以如果你调用初始化认证函数, 最好将smartread7.dll文件复制到你的程序相同的文件夹下. SmartRead_Initial 从语音朗读开发包2.4开始,不支持 SmartRead_Initial函数 SmartRead_InitialAuth 用于初始化语音并认证功能,必须在最初调用,进行认证 SmartRead_Close 用于关闭语音功能,在程序退出前调用,释放资源 SmartRead_Speak 朗读函数,分别有阻塞调用,非阻塞调用,并且在朗读每一句可以定义所朗读的每一句的 语音(中文或者英文),语速,音量,也可以采用缺省的参数(详见程例) SmartRead_Stop 停止朗读函数 SmartRead_SetDialog 用于打开语音设置对话框,改变语音,音量,语速等,并且可以连接到自定义的语音库下载站点 SmartRead_Version 显示开发包版本信息 SmartRead_SpeakToWave 朗读文本到WAVE文件,可以自己设置所输出的WAVE文件,并且朗读时可以设置语音,语速,音量和格式 SmartRead_GetLocationInfo 获得当前朗读到的位置,以百分数表示 SmartRead_SetVolume 在朗读中改变音量 SmartRead_SetSpeed 在朗读中改变语速 SmartRead_PauseORContinue 在朗读中实现暂停/继续功能 SmartRead_GetVoiceDeviceNum 获得声卡数目信息 SmartRead_GetVolume 在朗读中获得音量 SmartRead_GetSpeed 在朗读中获得语速 SmartRead_HideMessageBox 隐藏信息提示框函数 SmartRead_SetMode 设置播放模式函数 SmartRead_SetParameter 设置参数 SmartRead_QueueNext 队列朗读播放下一条 SmartRead_QueueStatistics 统计目前队列已经朗读个数和总的个数 SmartRead_GetErrCode 获得错误代码 SmartRead_GetErrMsg 获得错误信息,英文表示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值