sapi.spvoice 属性、方法(中文)
(2014-11-06 01:23:07)
标签:
it |
分类: ◆胡子语音合成 |
文档来源
SpVoice
该SpVoice对象带来了文字到应用程序使用的SAPI自动化语音转换(TTS)引擎功能。
应用程序可以创建无数SpVoice对象,每个独立和与人交往的能力。 一个SpVoice对象,通常简称为一个声音,是创建具有默认属性设置,以便它已准备好立即发言。
该SpVoice自动化对象有下列内容:
下面是是SAPI.SpVoice
属性列表说明
属性
|
描述
|
获取并设置警戒范围,它指定如何说话的声音暂停警报本身。
|
|
获取并设置标志,指定是否允许调整声音输出格式的音频自动。
|
|
获取并设置当前的音频输出对象的声音使用。
|
|
获取并设置当前音频流对象使用的声音。
|
|
获取并设置了语音接收到的事件的类型。
|
|
获取并设置优先级的声音。
|
|
获取和设置声音说话速度。
|
|
返回当前的发言和事件的声音地位1
ISpeechVoiceStatus对象。
|
|
获取并设置时间间隔,以毫秒为单位,在这之后的声音的同步发言和SpeakStream调用将超时当它的输出设备不可用。
|
|
获取和设置当前活动的声音集合的成员。
|
|
获取并设置相应的体积(响度)的语音水平。
|
方法列表说明
方法
|
参数
|
返回值
|
描述
|
DisplayUI(
)
|
参数hWndParent
指定的窗口句柄所属的窗口。
标题
指定使用的用户界面窗口的标题。
TypeOfUI
A String specifying the name of the UI to display.
For a list of available SAPI 5 UI, see
ExtraData
[可选]指定ExtraData。
|
无
|
启动指定的用户界面显示。
|
SpVoice.GetAudioOutputs(
) As
|
参数RequiredAttributes
[可选]指定RequiredAttributes。
OptionalAttributes
[择]指定OptionalAttributes。
|
一个ISpeechObjectTokens集合包含选定的产出。
|
可用的音频输出令牌返回一个选择。
|
SpVoice.GetVoices(
)
|
参数RequiredAttributes
[可选]指定RequiredAttributes。
OptionalAttributes
[择]指定OptionalAttributes。
|
返回值:一个ISpeechObjectTokens变量包含了语音收集令牌选中。
|
返回一个声音可供选择的声音。
|
SpVoice.IsUISupported(
) As Boolean
|
参数TypeOfUI
A String specifying the name of the UI to display.
For a list of available SAPI 5 UI, see
ExtraData
[可选]指定ExtraData。
|
返回值:一个布尔变量指示是否支持指定的用户界面。
|
如果指定的用户界面是支持的确定。
|
SpVoice.Resume()
|
无
|
无
|
原因恢复说话的声音时暂停。
|
SpVoice.Pause()
|
无
|
无
|
暂停的声音在最近的警报和关闭边界的输出设备,允许它被用于其他的声音。
|
SpVoice.Skip(
)
|
参数
类型:
该项目类型被跳过。
NumItems:
该项目的数目,跳过了在语音输入流。
|
返回值:一个长整型变量包含的项目数跳过。
|
导致声音向前或向后跳过由内当前输入文本流项规定的数量。
|
SpVoice.Speak(
)
|
Text
|
返回值:一个长整型变量包含事件处理。
|
启动一个文本字符串,文本文件或波形文件的声音说话
|
SpVoice.SpeakCompleteEvent()As Long
|
无 |
返回值:一个长整型变量包含事件处理。
|
获取事件处理将要完成的声音信号时,说话的声音。
|
SpVoice.SpeakStream(
) As Long
|
参数:Stream指定一个ISpeechBaseStream对象,包含流。Flags
|
返回值:一个长整型变量包含流的数目。
|
启动一个文本流或声音文件上的声音。
|
SpVoice.WaitUntilDone(
) As Boolean
|
参数msTimeout
指定以毫秒为单位的超时。
|
返回值
一个布尔变量,说明这种情况下,终止了通话。
|
阻止对方的声音,直到发言完毕或在指定的时间间隔已过。
|
此时了解了这个东西的基本信息之后于是就开始动工了。
由于这个是一个com对象,操作起来会有很多问题,之前,也就是最近吧,项目中出现了一个需要生成word的功能,那dcom对象把我搞得蛋疼,写代码没有提示,那时之痛苦实属罕见。
下面介绍个新东西
具体这里不做深入描述和讲解,主要针对这个朗读其相关进行介绍
C#
4.0中的动态类型和动态编程:
dynamic 的使用范围
由于 dynamic 它本身就是一个类型,因此可以应用在任何需要类型的地方。
这些地方包括:
1、变量声明;
2、函数、委托、Lambda 表达式的参数类型,或者具备泛型的类型参数;
3、TypeOf 运算;
4、类型转换以及 is,
as 运算。
下面的代码动态的获取一个 COM 对象类型,并通过该类型创建这个 COM 对象的实例,并准备调用该实例上的一个方法实现我们需要的功能。
这个例子引用了 Speech
API 中的 SAPI.SpVoice 对象,并调用了其 Speak() 方法。编译并运行此示例,我们通过计算机的音箱得到了正确的语音
优点:可以将返回不同模型类型的Action来使用同一个模板,只要你调用了它们都存在的属性或方法即可。
缺点:如果你调用了一个该类型中不存在属性或方法时,就会抛出一个RuntimeBinderException,所以在使用动态类型时我们要做好约束。