最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

TTS 語音朗讀 是開發(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());
}

知識補充

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

使用方法:

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

添加頭文件 #include

源文件:

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

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

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

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

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

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

這里主要提了一些可能出現(xiàn)的問題。因為該類沒有太多的成員和函數(shù),調(diào)用不會很復(fù)雜,具體學(xué)習(xí)可以參考QT自帶的例子。

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

相關(guān)文章

最新評論

怀柔区| 搜索| 炎陵县| 宁蒗| 搜索| 太原市| 黄冈市| 沙雅县| 太和县| 育儿| 莱阳市| 晋江市| 保德县| 邹城市| 凯里市| 威远县| 壤塘县| 明溪县| 湟中县| 尼玛县| 赫章县| 白山市| 龙门县| 平山县| 讷河市| 大冶市| 当雄县| 邵东县| 绿春县| 广宗县| 新乡市| 安塞县| 扎兰屯市| 大竹县| 西安市| 哈密市| 平阴县| 溧水县| 迁安市| 虎林市| 青川县|