我的主页

快递查询 :http://m.kuaidi100.com     爱快递查询 :http://www.aikuaidi.cn/              

http://www.qtcn.org/bbs/u/168050  [收藏] [复制]

w642833823

  • 10

    关注

  • 68

    粉丝

  • 42

    访客

  • 等级:新手上路
  • 总积分:43
  • 保密,2011-12-07

最后登录:2024-04-28

更多资料

日志

QT自带的语音合成实例代码

2022-06-05 12:42
  1. 在.pro中添加
    ###朗读模块
    QT       += texttospeech

  1. #include <QMainWindow>
    //包含头文件
    #include <QtTextToSpeech/QTextToSpeech>
    //添加用到的头文件
    #include <QTimer>
    #include <QDateTime>
    tts = new QTextToSpeech(this);
        tts->setLocale(QLocale::Chinese);//设置语言环境
            tts->setRate(0.0);//设置语速-1.0到1.0
            tts->setPitch(1.0);//设置音高-1.0到1.0
            tts->setVolume(1.0);//设置音量0.0-1.0
            if(tts->state()==QTextToSpeech::Ready)
            {
                for(int i=0;i<10;i++)
                {
                    if(i==5)
                    {
                        tts->stop();//停止语音
                    }
                    else
                    {
                        tts->say("QT欢迎你");//开始合成文本
                    }
                }
            }
        timer = new QTimer(this);
        //绑定信号和槽并打开定时器
        connect(timer,SIGNAL(timeout()),this,SLOT(timeup()));
        timer->start(1000);

  1. //在Qt中QTextToSpeech类提供了文本转语音引擎,使用say()函数合成文本,
    //使用setLocale()指定语言环境,使用setRate()函数设置语速,
    //使用setPitch()函数设置音高,使用setVolume()函数设置音量。
    void TextToSpeech::on_Btn_start_clicked()
    {
        if (ui->textEdit->document()->isEmpty())
        {
            QMessageBox::warning(this,tr("提示!!!"),tr("未输入内容!请先输入内容"),QMessageBox::Ok);
            return;
        }else
        {
            if(tts->state() == QTextToSpeech::Ready){
                   // tts->say("你好,我是Qt");
                    tts->say(ui->textEdit->toPlainText());
                }
            ui->textEdit->clear();
        }


    }
    //定义显示时间文本的槽函数
    void TextToSpeech::timeup(void)
    {
        QDateTime time = QDateTime::currentDateTime();
        QString str = time.toString("yyyy年MM月dd号 hh:mm:ss -- dddd");
        ui->label_time->setText(str);
    }


分类:默认分类|回复:0|浏览:1209|全站可见|转载
 

Powered by phpwind v8.7 Certificate Copyright Time now is:04-28 16:45
©2005-2016 QTCN开发网 版权所有 Gzip disabled