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

 

 

 


 

posted @   二十四桥明月夜33  阅读(3507)  评论(4编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· Windows 提权-UAC 绕过
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示