QT调用百度语音REST API实现语音合成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT调用百度语音REST API实现语音合成相关的知识,希望对你有一定的参考价值。

QT调用百度语音REST API实现语音合成

1、首先点击点击链接http://yuyin.baidu.com/docs/tts

技术分享

点击access_token,获取access_token,里面有详细步骤,不再赘述

记下链接,等会在QT程序中会用到,tex后面跟要转换成语音的文字,tok后面是刚获得的access_token

技术分享

 

2、打开Qt Creator,新建一个QWidget应用程序,绘制界面如下

技术分享

3、获取语音按钮槽函数如下

void Widget::on_pushButton_clicked()
{
    QByteArray url="http://tsn.baidu.com/text2audio?";
    url.append(QString("&lan=zh&cuid=***&ctp=1&tok=***&pit=8&per=3"));
    url.append("&tex=");
    url.append(QUrl::toPercentEncoding(ui->textEdit->toPlainText()));
    qDebug()<<url;
    player->setMedia(QUrl::fromLocalFile(url));
    player->play();
}

  player是QMediaPlayer类的一个对象,在widget.h中有声明 

private:
QMediaPlayer *player;
构造函数中添加如下代码:
player=new QMediaPlayer(this);
将cuid换成自己计算机mac地址,tok后加第一步获得的access_token
以下是所有代码
widget.h
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QMediaPlayer>
namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
private slots:
    void on_pushButton_clicked();
private:
    Ui::Widget *ui;
    QMediaPlayer *player;
};

#endif // WIDGET_H
widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include<QDebug>
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    player=new QMediaPlayer(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_pushButton_clicked()
{
    QByteArray url="http://tsn.baidu.com/text2audio?";
    url.append(QString("&lan=zh&cuid=***&ctp=1&tok=***&pit=8&per=3"));
    url.append("&tex=");
    url.append(QUrl::toPercentEncoding(ui->textEdit->toPlainText()));
    qDebug()<<url;
    player->setMedia(QUrl::fromLocalFile(url));
    player->play();
}

技术分享技术分享

来源:古墓派掌门

http://www.cnblogs.com/qflyue/p/6964988.html

 

 

 


 

以上是关于QT调用百度语音REST API实现语音合成的主要内容,如果未能解决你的问题,请参考以下文章

基于百度云实现微信服务号内文字语音互转STT TTS

delphi调用百度语音识别REST API

python实现语音在线合成,让你的小说自己念给你听

vue 实现百度语音合成(语音播报)

Android 百度语音合成 (含离线在线API合成方式,详细步骤+源码)

Android 百度语音合成 (含离线在线API合成方式,详细步骤+源码)