亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

QT5實(shí)現(xiàn)TTS文本語(yǔ)音朗讀功能

 更新時(shí)間:2023年05月31日 09:21:10   作者:戀戀西風(fēng)  
TTS?語(yǔ)音朗讀?是開(kāi)發(fā)中常用的功能,Qt已經(jīng)給封裝完成,我們只需要調(diào)用即可,本文就為大家介紹了QT5如何調(diào)用實(shí)現(xiàn)文本朗讀功能的,需要的可以參考一下

TTS 語(yǔ)音朗讀 是開(kāi)發(fā)中常用的功能,Qt已經(jīng)給封裝完成,我們只需要調(diào)用;

效果圖:

新建 Application 工程

.pro文件添加

QT       += core gui texttospeech

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTextToSpeech>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();
private slots:
    void on_pushButton_Speed_clicked();
private:
    Ui::MainWindow *ui;
private:
    QTextToSpeech m_Speech;
};
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
 
#pragma execution_character_set("utf-8")
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
 
    QIcon disconnect = QIcon(":/save.png");
    ui->pushButton_Speed->setText(QStringLiteral("Speech"));
    ui->pushButton_Speed->setIconSize(QSize(32, 32));
    ui->pushButton_Speed->setLayoutDirection(Qt::RightToLeft);
    ui->pushButton_Speed->setIcon(disconnect);
 
 
 
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
void MainWindow::on_pushButton_Speed_clicked()
{
    m_Speech.say(ui->textEdit->toPlainText());
}

知識(shí)補(bǔ)充

QTextToSpeech(TTS)是QT5.8以上的文本轉(zhuǎn)語(yǔ)音模塊。

使用方法:

在.pro工程文件中添加“QT += texttospeech”。

添加頭文件 #include

源文件:

QTextToSpeech *tts =
new QTextToSpeech(this);
if(tts->state()==QTextToSpeech::Ready)
{
tts->say(
"hello world");
}

在linux下,它是調(diào)用speech-dispatcher。在其它不同的平臺(tái)上,調(diào)用各自平臺(tái)的TTS引擎。所以在使用的時(shí)候,要確保本地的TTS引擎是可用的。

本地TTS引擎不可用可能會(huì)在聲明QTextToSpeech變量的時(shí)候?qū)е鲁绦虮罎ⅰ?/p>

Win7下如果TTS引擎不可用,可能是使用的系統(tǒng)不是完整版的,可以使用軟件進(jìn)行修復(fù)。

上述代碼不一定能正確的朗讀出內(nèi)容,根據(jù)語(yǔ)言的不同,有可能還需要設(shè)置QTextToSpeech的語(yǔ)言、朗讀人聲等。有關(guān)的方法有setLocale和setVoice,還可以設(shè)置朗讀速率、音調(diào)等。

測(cè)試中發(fā)現(xiàn)不能正確朗讀的情況:設(shè)置了Voice為Chinese的時(shí)候,中文能正確朗讀,英文只能朗讀出字符而不能朗讀出單詞;設(shè)置了Voice為非Chinese的時(shí)候,英文可以正確朗讀,中文全部跳過(guò)。

這里主要提了一些可能出現(xiàn)的問(wèn)題。因?yàn)樵擃悰](méi)有太多的成員和函數(shù),調(diào)用不會(huì)很復(fù)雜,具體學(xué)習(xí)可以參考QT自帶的例子。

到此這篇關(guān)于QT5實(shí)現(xiàn)TTS文本語(yǔ)音朗讀功能的文章就介紹到這了,更多相關(guān)QT文本朗讀內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++ EasyX學(xué)習(xí)之鼠標(biāo)操作詳解

    C++ EasyX學(xué)習(xí)之鼠標(biāo)操作詳解

    EasyX是針對(duì)C/C++的圖形庫(kù),可以幫助使用C/C++語(yǔ)言的程序員快速上手圖形和游戲編程。本文將為大家詳細(xì)講講EasyX的鼠標(biāo)操作,需要的可以參考一下
    2022-07-07
  • C++實(shí)現(xiàn)簡(jiǎn)單校園導(dǎo)游系統(tǒng)

    C++實(shí)現(xiàn)簡(jiǎn)單校園導(dǎo)游系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡(jiǎn)單校園導(dǎo)游系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Matlab制作視頻并轉(zhuǎn)換成gif動(dòng)態(tài)圖的兩種方法

    Matlab制作視頻并轉(zhuǎn)換成gif動(dòng)態(tài)圖的兩種方法

    這篇文章主要介紹了Matlab制作視頻并轉(zhuǎn)換成gif動(dòng)態(tài)圖的兩種方法,第一種方法使用movie(f)直接取生成AVI視頻文件,相對(duì)來(lái)說(shuō)比較簡(jiǎn)單,需要的朋友可以參考下
    2018-08-08
  • VisualStudio2022不支持.NET Framework 4.0項(xiàng)目解決辦法

    VisualStudio2022不支持.NET Framework 4.0項(xiàng)目解決辦法

    本文主要介紹了VisualStudio2022不支持.NET Framework 4.0項(xiàng)目解決辦法,文中通過(guò)圖文的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-09-09
  • Visual C++ 常用數(shù)據(jù)類型轉(zhuǎn)換方法詳解

    Visual C++ 常用數(shù)據(jù)類型轉(zhuǎn)換方法詳解

    本文純粹是總結(jié)一下有關(guān)類型轉(zhuǎn)換的貼子,需要的朋友可以參考下
    2017-06-06
  • C++的std::transform()的實(shí)現(xiàn)

    C++的std::transform()的實(shí)現(xiàn)

    在 C++ 標(biāo)準(zhǔn)庫(kù)中,std::transform() 是一個(gè)非常有用的算法函數(shù),它能夠?qū)⒔o定范圍中的每個(gè)元素進(jìn)行變換,并將變換后的結(jié)果存儲(chǔ)到另一個(gè)范圍中,本文就詳細(xì)的介紹一下具體用法,感興趣的可以了解一下
    2023-08-08
  • C++ 函數(shù)指針的實(shí)現(xiàn)

    C++ 函數(shù)指針的實(shí)現(xiàn)

    本文主要介紹了C++ 函數(shù)指針的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • C語(yǔ)言形參與實(shí)參使用的差別講解

    C語(yǔ)言形參與實(shí)參使用的差別講解

    形參出現(xiàn)在函數(shù)定義中,在整個(gè)函數(shù)體內(nèi)都可以使用, 離開(kāi)該函數(shù)則不能使用。實(shí)參出現(xiàn)在主調(diào)函數(shù)中,進(jìn)入被調(diào)函數(shù)后,實(shí)參變量也不能使用,形參和實(shí)參的功能是作數(shù)據(jù)傳送。發(fā)生函數(shù)調(diào)用時(shí), 主調(diào)函數(shù)把實(shí)參的值傳送給被調(diào)函數(shù)的形參從而實(shí)現(xiàn)主調(diào)函數(shù)向被調(diào)函數(shù)的數(shù)據(jù)傳送
    2023-02-02
  • Qt物聯(lián)網(wǎng)管理平臺(tái)之實(shí)現(xiàn)告警短信轉(zhuǎn)發(fā)

    Qt物聯(lián)網(wǎng)管理平臺(tái)之實(shí)現(xiàn)告警短信轉(zhuǎn)發(fā)

    系統(tǒng)在運(yùn)行過(guò)程中,會(huì)實(shí)時(shí)采集設(shè)備的數(shù)據(jù),當(dāng)采集到的數(shù)據(jù)發(fā)生報(bào)警后,可以將報(bào)警信息以短信的形式發(fā)送給指定的管理員。本文將利用Qt實(shí)現(xiàn)告警短信轉(zhuǎn)發(fā),感興趣的可以嘗試一下
    2022-07-07
  • C++中使用vector存儲(chǔ)并遍歷數(shù)據(jù)的基本步驟

    C++中使用vector存儲(chǔ)并遍歷數(shù)據(jù)的基本步驟

    C++標(biāo)準(zhǔn)模板庫(kù)(STL)提供了多種容器類型,包括順序容器、關(guān)聯(lián)容器、無(wú)序關(guān)聯(lián)容器和容器適配器,每種容器都有其特定的用途和特性,這篇文章主要介紹了C++中使用vector存儲(chǔ)并遍歷數(shù)據(jù)的基本步驟,需要的朋友可以參考下
    2025-01-01

最新評(píng)論