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#语音识别用法实例 的全部内容, 来源链接: utcz.com/z/326013.html

回到顶部