<十三>音频播放
最后更新于:2022-04-01 07:11:36
# 【Qt编程】基于Qt的词典开发系列音频播放
在上一篇文章中,我是在Qt4平台上调用本地发音的,后来由于用到JSON解析,就将平台转到了Qt5,因为Qt5自带解析JSON的类。然后发现上一篇文章的方法无法运行,当然网上可以找到解决方法,我在这里直接调用Qt自带的类进行网络音频播放和本地播放。**比较适用于单词的网上发音和无网情况下的本地发音,而不用将音频文件下载下来,占用太多内存。**
为了简便起见,工程里只有一个main.cpp文件,不要忘了在.pro文件中加入下面两行:
~~~
QT += multimedia
CONFIG += qaxcontainer
~~~
**下面给出main.cpp文件:**
~~~
#include "widget.h"
#include <QApplication>
#include<QtMultimedia/QMediaPlayer>
#include<QUrl>
#include<ActiveQt/QAxObject>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QMediaPlayer *player = new QMediaPlayer();
player->setMedia(QUrl("http://media.shanbay.com/audio/us/hello.mp3"));
player->play();
QAxObject *speech= new QAxObject();
speech->setControl("SAPI.SpVoice");
speech->dynamicCall("Speak(QString,uint)","good",1);//这里换成中文也可以
return a.exec();
}
~~~
运行后,你会发现本地发音肯定没网络发音好,本地发音是电脑发音,这也是缺点之一。