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
我的小鱼你醒了
还认识早晨吗
昨夜你曾经说
愿夜幕永不开启
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 解决跨域问题的这6种方案,真香!
· Windows 提权-UAC 绕过
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了