zoukankan      html  css  js  c++  java
  • WIN7下使用Qt调用微软TTS进行文本朗读

    最近研究了下调用微软TTS引擎进行朗读的相关资料,发现其实很简单,特发文与众位博友共享。

    首先看看微软MSDN官方文档是如何调用TTS的

    Microsoft TTS simple sample

    可以发现其实很简单,就是初始化COM后,创建ISpVoice的实例调用Speak方法即可,如果想更加深入的了解这方面的知识,可以查阅MSDN,http://msdn.microsoft.com/en-us/library/ee125082(v=VS.85).aspx

    Qt上使用COM非常简单,ActivityQt是Qt上用了和COM打交道,由于是调用COM,我们使用QAxObject即可满足要求。

    首先设计一个接口

    ITTS

    虽然我们是再Win7上使用,由于以后可能还有开发XP上的、Linux上的TTS,所以我们定义一个接口,在我们的调用类中只需要定义一个接口的指针就可以,然后根据实际的环境在初始化中初始化不同环境上的TTS实例,这个我们以后再来演示

    根据Win7上的TTS,我们来创建Win7TTS类,继承于我们上面定义的ITTS

    Win7TS

    _voice 就是我们用来创建ISpVoice Com对象的成员

    Win7TTS

    TTS的框架已经搭好了,现在让我们试试TTS的魅力吧,稍后上传一个TTS的SAMPLE,可以下载下来玩玩!

    0BFR2ZM{]3H9]GA9ZOQ}~82

    Win7 TTS 示例 

  • 相关阅读:
    Integer.highestOneBit(int i)方法的作用与底层实现
    一文搞明白位运算、补码、反码、原码
    Zookeeper如何解决脑裂问题
    Zookeeper请求处理原理分析
    Linux 设备驱动之 UIO 机制
    virtio guest side implementation: PCI, virtio device, virtio net and virtqueue
    DPDK之(八)——vhost库
    Red Hat OpenStack 10的新特性
    探秘DPDK Virtio的不同路径
    2017版:KVM 性能优化之内存优化
  • 原文地址:https://www.cnblogs.com/rockhawk/p/2164016.html
Copyright © 2011-2022 走看看