微软语音识别下,对象&接口(三)

对象与接口的不同:

对象:能暴露任何数量的接口。

接口:多个不同的接口可以暴露同一个接口。

           一个接口就是一组执行特定操作的方法。



GUID:

是一个128位的结构,然而,GUID在创建时必须保证不能出现两个相同的GUID。实际上使用时,用CoCreateInstance,可以不用创建GUID结构。


IspVoice接口的CLSID是CLSID_IspVoice


接口函数:

speechSDK::speak

既可以同步(在语音播放完成之后返回)也可以异步(语音播放开始就返回,语音播放在后台处理)

SPF_ASYNC:异步播放

SPF_DEFAULT:同步播放

此时,可以调用GetStatus方法来获取实时状态信息

在使用的时候我曾出现的问题:

        刚开始出现的问题,在使用了异步表示时,也没有声音输出。

----->>>>主要是因为在speak后直接Release()释放了资源。应当在销毁的时候再释放IspVoice的资源。


IspLexion

作用:用于访问词典。

当一个对象被创建,它包含用户词典和所有应用词汇系统中注册。

下面的列显示了这类实现接口

                SpLexion

                SpCompressedLexicon

                SpUncompressedLexcon


下面这个API是在使用用户词典的时候应用的。我会在后续的文章中具体介绍使用的方法。

AddPronunciation            ------->>>>            增加单词的发音和词性用户词典

GetGeneration                --------->>>>            获取生成标识符

GetGenerationChnage     -------->>>>            得到一个单词列表已经改变了当前的和指定替代的词

GetWords                        -------- >>>>             所有词典中的单词列表

GetPronuncations            -------->>>>>            发音和单词的词性

RemorePronunciation    -------->>>>                删除用户词典的一句话

你可能感兴趣的:(语音识别(微软))