QtApplets-QTextToSpeechDemo
创始人
2024-03-31 12:16:08
0
头图

QtApplets-QTextToSpeechDemo

哎呀妈呀,这个系列应该有好长一段时间没有更细了,因为啥呢,主要是因为这一段时间都在折腾Debian 10 下的软件开发,都是在调试代码,实在是没有啥新功能需要试验的,有的也是在Linux下的设置,脚本啥的,与Qt相关,没有啥新的功能。所以就耽搁了。

今天要研究的类其实很简单,QTextToSpeech


文章目录

  • QtApplets-QTextToSpeechDemo
    • QTextToSpeech
      • 文本朗读-say。
      • 音量设置-setVolume
      • 音高设置-setPitch
      • 朗读速率设置-setRate
      • 朗读声音选择-setVoice
    • 核心代码
      • pro文件
      • 头文件
      • 源文件
    • 程序截图
    • ☞ 源码

关键字: QTextToSpeechQt语音文字关键字5

QTextToSpeech

官方文档里面对这个类的描述很简单,如下

he QTextToSpeech class provides a convenient access to text-to-speech engines

我理解就是官方分装了结果系统文字转语音接口给我们简单的使用一下。今天我们主要研究一下几个问题

  1. 文本朗读
  2. 音量设置
  3. 音高设置
  4. 朗读速率设置
  5. 朗读声音选择

文本朗读-say。

void say(const QString &text)

参数就是我们传入我们要转成语音的字符串

它是异步的开始合成文章。这个函数将开始异步读取文本。使用state属性可以使用当前状态。一旦合成完成,就会发出stateChanged()信号,该信号处于就绪状态。

    enum State {Ready,Speaking,Paused,BackendError};

音量设置-setVolume

void setVolume(double volume)

范围从0.0到1.0。默认值是平台的默认音量

音高设置-setPitch

void setPitch(double pitch)

范围从-1.0到1.0。默认的0.0是正常的语音音高

朗读速率设置-setRate

void setRate(double rate)

范围从-1.0到1.0。默认值0.0是正常的语音流

朗读声音选择-setVoice

void setVoice(const QVoice &voice)

设置 声音是谁的 我看window下 有个男声音和女声音

核心代码

以上就是今天要搞得内容,下面直接上源码,很简单

pro文件

需要在pro文件中加入以下代码

QT += texttospeech

头文件

#ifndef WIDGET_H
#define WIDGET_H#include 
#include 
#include 
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_pushButton_clear_clicked();void on_pushButton_read_clicked();void on_doubleSpinBoxPitch_valueChanged(double arg1);void on_doubleSpinBox_Rate_valueChanged(double arg1);void on_doubleSpinBox_Volume_valueChanged(double arg1);void on_comboBox_currentIndexChanged(int index);private:Ui::Widget *ui;QTextToSpeech* mQTextToSpeech = nullptr;};
#endif // WIDGET_H

源文件

#include "widget.h"
#include "ui_widget.h"
#include 
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);this->resize(QSize(1366,768));this->setWindowTitle("Qt文字转语音Demo");mQTextToSpeech = new QTextToSpeech;mQTextToSpeech->say("Hello World");mQTextToSpeech->setPitch(0.0);}Widget::~Widget()
{delete ui;
}/*** @brief Widget::on_pushButton_clear_clicked* 清除输入框*/
void Widget::on_pushButton_clear_clicked()
{ui->textEdit->clear();
}/*** @brief Widget::on_pushButton_read_clicked* 朗读输入文字*/
void Widget::on_pushButton_read_clicked()
{if(ui->textEdit->document()->isEmpty())QMessageBox::warning(this,"警告","文本内容为空",QMessageBox::Ok);elseif(mQTextToSpeech)mQTextToSpeech->say(ui->textEdit->document()->toRawText());
}/*** @brief Widget::on_doubleSpinBoxPitch_valueChanged* @param arg1* 设置音高*/
void Widget::on_doubleSpinBoxPitch_valueChanged(double arg1)
{mQTextToSpeech->setPitch(arg1);
}/*** @brief Widget::on_doubleSpinBox_Rate_valueChanged* @param arg1* 设置速率**/
void Widget::on_doubleSpinBox_Rate_valueChanged(double arg1)
{mQTextToSpeech->setRate(arg1);
}/*** @brief Widget::on_doubleSpinBox_Volume_valueChanged* @param arg1* 设置音量*/
void Widget::on_doubleSpinBox_Volume_valueChanged(double arg1)
{mQTextToSpeech->setVolume(arg1);
}/*** @brief Widget::on_comboBox_currentIndexChanged* @param index* 设置音色*/
void Widget::on_comboBox_currentIndexChanged(int index)
{//mQTextToSpeech->setVoice();
}

程序截图

image-20221026143940935

☞ 源码

源码链接:GitHub仓库自取

使用方法:☟☟☟


博客签名2021

相关内容

热门资讯

新华社快讯:韩国检方对尹锡悦、... 新华社快讯:负责调查韩国前第一夫人金建希案件的特检组29日发布最终调查结果,对包括前总统尹锡悦、金建...
巩固国家通用语言文字法律地位 本报记者 朱宁宁 我国第一部有关语言文字的专门法律——国家通用语言文字法完成首次大修。 2025年1...
甘肃“十五五”规划建议:加快构... 中共甘肃省委关于制定国民经济和社会发展第十五个五年规划的建议发布,其中提到,加快构建 房地产发展新模...
部署六大重点工作 2026年积... 来源:经济参考报 12月27日至28日在京召开的全国财政工作会议为2026年的财政工作划定了重点。会...
权威抚养权律师推荐:家理(深圳... 在抚养权纠纷中,当事人急需专业且靠谱的律师来维护自身权益。那么,资深抚养权律师哪个好,经验丰富的抚养...
四川拓宽法律援助范围 今年办理... “终于胜诉了!要是按以前的规定,我这种情况属于合同纠纷,不符合法律援助申请条件。”近日,来自自贡市的...
汽车早报|零跑汽车发布首款MP... 重庆追加汽车置换、汽车报废更新补贴 据重庆日报,重庆市商务委消息,为贯彻落实国家部委相关要求,扎实...
自贸试验区昆明片区发布一批区域... 12月26日,中国(云南)自贸试验区昆明片区举行制度创新专题新闻发布会,联合昆明综合保税区发布一批改...
原创 存... “钱存银行,50万以内绝对安全”。 这句话你一定听过,但很多人只知其一,不知其二。 2015年《存款...
美银CEO判断:特朗普关税政策... 智通财经获悉,美国银行首席执行官Brian Moynihan表示,尽管2025年的关税措施曾冲击美国...