首页 > 代码库 > 【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();
}
运行后,你会发现本地发音肯定没网络发音好,本地发音是电脑发音,这也是缺点之一。