没有合适的资源?快使用搜索试试~ 我知道了~
首页QT文本转语音模块使用指南
QT文本转语音模块使用指南
需积分: 15 432 浏览量
更新于2023-05-30
评论
收藏 282KB PDF 举报
介绍了QT文本转语音模块的使用方法,以及在使用过程中可能碰到的问题和坑点。
资源详情
资源评论
资源推荐

QTextToSpeech是QT5.8以上的文本转语音(TTS)模块。
1.
可以用QT自带的hello_speak例程进行测试。
-
在linux下,它是调用speech-dispatcher。在其它不同的平台上,调用各自平台的TTS引
擎。所以在使用的时候,要确保本地的TTS引擎是可用的。
2.
一、简介
在.pro工程文件中添加“QT += texttospeech”
1.
添加头文件 #include <QTextToSpeech>
2.
源文件:
3.
QTextToSpeech *tts = new QTextToSpeech(this);
if(tts->state()==QTextToSpeech::Ready)
tts->say("hello world");
{
}
如果本地的TTS引擎可用,那么电脑就会播放声音,阅读"hello world"
因为该类没有太多的成员和函数,调用不会很复杂,具体学习可以参考QT自带的例子
hello_speak。
二、用法
本地TTS引擎不可用可能会在声明QTextToSpeech变量的时候导致程序崩溃。
1.
Win7下如果TTS引擎不可用,可能是使用的系统不是完整版的,可以使用软件进行修复。
请自行搜索"WIN7 TTS引擎修复"之类的关键字(原链接失效,有空我把我的上传再补上链
接)
上述代码不一定能正确的朗读出内容,根据语言的不同,有可能还需要设置
QTextToSpeech的语言、朗读人声等。有关的方法有setLocale和setVoice,还可以设置朗
读速率、音调等。
2.
测试中发现不能正确朗读的情况:设置了Voice为Chinese的时候,中文能正确朗读,英文
只能朗读出字符而不能朗读出单词;设置了Voice为非Chinese的时候,英文可以正确朗
读,中文全部跳过。
3.
虽然这个模块是QT5.8出现的,但是QT5.8在使用的时候发现,只有编译用的头文件,没有运
行时需要的库(QT PLUGIN)。所以需要使用这个模块请使用QT5.9。
4.
TTS如果当前正在播放语音(状态为speaking),设置语音引擎、语言、声音后,为了使设
置立即生效,调用say()时会使状态变为ready,然后更新设置,再变回speaking。
5.
这个主要是在编写播放状态显示相关的代码的时候需要注意一下。
TTS模块内部也是有队列的,你可以连续调用say()函数,它会把所有内容按顺序播放。
6.
三、注意事项
文本转语音(QTextToSpeech)
2017年8月12日
17:27
分区 Qt5 的第 1 页















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0