QTextToSpeech是QT5.8以上的文本轉語音模塊。
使用方法:
在.pro工程文件中添加“QT += texttospeech”。
添加頭文件 #include <QTextToSpeech>
源文件:
-
QTextToSpeech *tts = new QTextToSpeech(this);
-
if(tts->state()==QTextToSpeech::Ready)
-
{
-
tts->say( "hello world");
-
}
在linux下,它是調用speech-dispatcher。在其它不同的平台上,調用各自平台的TTS引擎。所以在使用的時候,要確保本地的TTS引擎是可用的。
本地TTS引擎不可用可能會在聲明QTextToSpeech變量的時候導致程序崩潰。
Win7下如果TTS引擎不可用,可能是使用的系統不是完整版的,可以使用軟件進行修復。軟件下載地址:
http://wwww.236.yhlg.com/uploadFile/2014/7-TTS.xdowns.zip
上述代碼不一定能正確的朗讀出內容,根據語言的不同,有可能還需要設置QTextToSpeech的語言、朗讀人聲等。有關的方法有setLocale和setVoice,還可以設置朗讀速率、音調等。
測試中發現不能正確朗讀的情況:設置了Voice為Chinese的時候,中文能正確朗讀,英文只能朗讀出字符而不能朗讀出單詞;設置了Voice為非Chinese的時候,英文可以正確朗讀,中文全部跳過。
這里主要提了一些可能出現的問題。因為該類沒有太多的成員和函數,調用不會很復雜,具體學習可以參考QT自帶的例子。