C#语音识别用法实例

本文实例讲述了C#语音识别用法。分享给大家供大家参考。具体分析如下:

C#可以利用微软操作系统自动的语音识别功能,读取信息。步骤如下:

1.  在项目中添加  “”  引用

2.  引入命名空间:

代码如下:

using SpeechLib;

3.  读取的代码:

代码如下:

SpeechVoiceSpeakFlags flag = SpeechVoiceSpeakFlags.SVSFlagsAsync;

SpVoice voice = new SpVoice();

voice.Voice = voice.GetVoices(string.Empty, string.Empty).Item(0);

voice.Speak(“你是一个大美女,我试一个大帅锅,哈哈”, flag);

其中:

1. SpeechVoiceSpeakFlags 是一个枚举。

SpVoice标志:

SVSFDefault = 0

SVSFlagsAsync = 1

SVSFPurgeBeforeSpeak = 2

SVSFIsFilename = 4

SVSFIsXML = 8

SVSFIsNotXML = 16

SVSFPersistXML = 32

正规化标志:

SVSFNLPSpeakPunc = 64

面具:

SVSFNLPMask = 64

SVSFVoiceMask = 127

SVSFUnusedFlags = -128

结束枚举分子

SVSFDefault

指定应使用的默认设置。默认值是:

讲定的文本字符串同步(覆盖与SVSFlagsAsync),

不清除挂起说话请求(覆盖与SVSFPurgeBeforeSpeak),

为了解析XML的文本,如果第一个字符是左尖括号(覆盖与SVSFIsXML或SVSFIsNotXML),

不坚持全球XML状态更改在讲电话(覆盖SVSFPersistXML),

不扩展的标点字符成字(覆盖与SVSFNLPSpeakPunc)的。

SVSFlagsAsync

指定的讲调用应该是异步的。也就是说,它会立即返回排队的讲请求后。

SVSFPurgeBeforeSpeak

清除所有悬而未决的发言请求,在此之前讲的呼叫。

SVSFIsFilename

的说话方式传递的字符串是一个文件名,而不是文字。其结果,没有发言字符串本身而是该文件的路径,该路径是口头的处理。

SVSFIsXML

输入的文本将被解析为XML标记。

SVSFIsNotXML

输入的文本将不会被解析的XML标记。

SVSFPersistXML

XML标记的全局状态的变化将持续到说话的呼叫。

SVSFNLPSpeakPunc

,标点符号应扩大到字(例如:“这是什么。”将成为“这是这期”)。

SVSFNLPMask

SAPI(而不是文本到语音引擎)处理此掩码中的标志。

SVSFVoiceMask

此面膜具有每一个标志位设置。

SVSFUnusedFlags

此面膜具有每一个未使用的位集。

2. SpVoice

SpVoice类是支持语音合成(TTS)的核心类。通过SpVoice对象调用TTS引擎,从而实现朗读功能。

SpVoice类有以下主要属性:

Voice:表示发音类型,相当于进行朗读的人,包括Microsoft Mary,Microsoft Mike,Microsoft Sam和Microsoft Simplified Chinese四种。其中前三种只能读英文,最后一种可以读中文,也可以读英文,但对于英文单词只能将其包括的各个字母逐一朗读出来。下面的程序中我们将会想办法解决这个问题。

Rate:语音朗读速度,取值范围为-10到+10。数值越大,速度越快。

Volume:音量,取值范围为0到100。数值越大,音量越大。

SpVoice有以下主要方法:

Speak:完成将文本信息转换为语音并按照指定的参数进行朗读,该方法有Text和Flags两个参数,分别指定要朗读的文本和朗读方式(同步或异步等)。

Pause:暂停使用该对象的所有朗读进程。该方法没有参数。

Resume:恢复该对象所对应的被暂停的朗读进程。该方法没有参数。

希望本文所述对大家的C#程序设计有所帮助。

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  C#语音识别用法实例

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23198.html

相关内容

C#使用MCI创建的视频或声音播放器 源代码下载

C#实现的SQL备份与还原功能示例

C#实现百度ping推送功能的方法

C#使用oledb导出数据到excel的方法


C#调用dos窗口获取相关信息的方法

C#将图片和字节流互相转换并显示到页面上

C#使用iTextSharp封装的PDF文件操作类实例

C#之WinForm跨线程访问控件实例

时间: 2024-10-09 07:44:19

C#语音识别用法实例的相关文章

vertica从其他表迁移数据到新表(insert into 语句用法实例)

前面一篇开始学习solr的时候,做了个入门的示例http://blog.csdn.net/zjc/article/details/24414271 .虽然可以检索出内容,但总和想象的结果有差异--比如,检索"天龙"两个字,按常规理解,就应该只出来<天龙八部>才对,可是竟然也会把<倚天屠龙记>检出来.后来研究了一下,发现系统是这样处理的:无论是抽索引时还是分析检索词时,都把所有文字按单字拆开.这样,刚好<倚天屠龙记>里包含"天"和&

Struts2常量的具体用法实例

通常struts2加载struts2常量的顺序如下: 1. struts-default.xml:该文件保存在struts2-core-2.0.6.jar文件中.2. struts-plugin.xml:该文件保存在struts2-Xxx-2.0.6.jar等Struts2插件JAR文件中.3. struts.xml:该文件是Web应用默认的Struts2配置文件.4. struts.properties:该文件是Web应用默认的Struts2配置文件.5. web.xml:该文件是Web应用的

JavaScript中字符串分割函数split用法实例

这篇文章主要介绍了JavaScript中字符串分割函数split用法,实例分析了javascript中split函数操作字符串的技巧,非常具有实用价值,需要的朋友可以参考下 本文实例讲述了JavaScript中字符串分割函数split用法.分享给大家供大家参考.具体如下: 先来看下面这段代码: <script type="text/javascript"> var str="How are you doing today?" document.write

angularjs中ng-repeat-start与ng-repeat-end用法实例

angularjs中ng-repeat-start与ng-repeat-end用法实例 <!DOCTYPE html> <html lang="zh-CN" ng-app="app"> <head> <meta charset="utf-8"> <title>ng-repeat-start 与 ng-repeat-end的用法</title> <link rel=&qu

XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式

XSD(XML Schema Definition)用法实例介绍以及C#使用xsd文件验证XML格式 http://blog.csdn.net/gdjlc/article/details/11374787 2013-09-08 12:16 2824人阅读 评论(0) 收藏 举报 分类: XML(5) 版权声明:本文为博主原创文章,未经博主允许不得转载. XML Schema 语言也称作 XML Schema 定义(XML Schema Definition,XSD),作用是定义 XML 文档的合

php教程之Smarty模板用法实例

分享下php之Smarty模板的使用方法. 剖析了smarty模板的使用方法,对于学习smarty的朋友有一定的参考价值. 详情如下: 一.模板中的注释每一个Smarty模板文件,都是通过Web前台语言(xhtml,css和javascript等)结合Smarty引擎的语法开发的.用到的web前台开发的语言和原来的完全一样,注释也没有变化.Smarty注释语法是'左结束符变量值*'和'*右结束符变量值',在这两个定界符之间的内容都是注释内容,可以包含一行或多行,并且用户浏览网页查看原代码时不会看

jquery.cycle.js简单用法实例

样式: a{text-decoration: none;} *{margin:0; padding:0;} /*容器设置*/ .player { width:216px; height:248px; background:url(http://i2.itc.cn/20120117/2cc0_da8f6c82_c8da_693d_7714_9533a013006a_3.jpg) no-repeat; background-color:#ede1d1; position:relative; padd

PHP中__get()和__set()的用法实例详解

PHP中__get()和__set()的用法实例详解 在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属性,对每个字段进行set和get的操作.只需要加上两个魔术方法即可 php面向对象_get(),_set()的用法 一般来说,总是把类的属性定义为private,这更符合 现实的逻辑.但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属 性.类似于java中的javabean的操作,

sys_refcursor的用法实例

--创建过程,参数为sys_refcursor,为out型 create or replace procedure aabbsys_refcursor(o out sys_refcursor) is begin open o for select * from basplumain; end; --- --测试过程,使用aabbsys_refcursor传出的值 create or replace procedure aabb_test_sys_refcursor(return out int)