# 【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();
}
~~~
運行后,你會發現本地發音肯定沒網絡發音好,本地發音是電腦發音,這也是缺點之一。
- 前言
- <一>--詞典框架設計及成品展示
- <二>--本地詞典的設計
- <三>--開始菜單的設計
- <四>--無邊框窗口的縮放與拖動
- <五>--無邊框窗口的拖動
- <六>--界面美化設計
- <七>--調用網絡API
- <八>--用戶登錄及API調用的實現
- <九>--JSON數據解析
- <十>--國際音標的顯示
- <十一>系統托盤的顯示
- <十二>調用講述人
- <十三>音頻播放
- <十四>自動補全功能
- <十五>html特殊字符及正則表達式
- 后序