【发布时间】:2016-10-05 19:16:54
【问题描述】:
SAPI 文档涵盖了识别配置文件的创建和删除。但是我怎样才能用SpeechLib 做到这一点?我想:
- 找到当前活动的个人资料,并记录下来。
- 创建一个新的配置文件。
- 将新配置文件设为活动配置文件。
退出我的应用时:
- 删除我创建的配置文件。
- 将活动配置文件恢复为启动我的应用程序之前的状态。
顺便说一句:SpeechLib 是否记录在案?
【问题讨论】:
SAPI 文档涵盖了识别配置文件的创建和删除。但是我怎样才能用SpeechLib 做到这一点?我想:
退出我的应用时:
顺便说一句:SpeechLib 是否记录在案?
【问题讨论】:
通过查找SAPI Automation interfaces 找到SpeechLib 文档。
配置文件是SpObjectToken 的一种类型,可以使用SpObjectTokenCategory 对象进行枚举。具体来说,创建一个新的 SpObjectToken,并设置 ID,然后使用 EnumerateTokens 获取配置文件。 (这个例子用的是VB,但你应该会翻译)
Dim E As SpeechLib.ISpeechObjectTokens 'an enumeration of object tokens
Dim C As SpeechLib.SpObjectTokenCategory 'a category of object tokens
Set C = New SpObjectTokenCategory
C.SetId SpeechCategoryRecoProfiles
List1.AddItem " " & C.Id
Set E = C.EnumerateTokens()
For Each T In E
List1.AddItem " " & T.GetDescription
Next
【讨论】:
SpObjectToken.DataKey.SetStringValue(NULL, szDescription)设置描述。
SetId(Id as String, [CreateIfNotExist as Boolean=Flase])。使用三个参数不会编译,并且只使用两个会引发运行时异常。如果相关,我将它与 VB.NET 一起使用。