Qt 使用QMediaPlayer播放MP3

代碼很簡單,直接複製幫助裏的代碼:

#include <QtCore/QCoreApplication>

#include <QtMultimedia/QMediaPlayer>

int main(int argc, char *argv[])
{
	QCoreApplication a(argc, argv);


	QMediaPlayer * player = new QMediaPlayer;

	player->setMedia(QUrl::fromLocalFile("D:/test.mp3"));
	player->setVolume(50);
	player->play();


	return a.exec();
}

在VS裏運行也沒問題,但是直接點擊exe運行就開始報錯

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"

很簡單的覺得應該是缺少插件,那麼去QT目錄複製mediaservice到exe目錄,再次運行還是報錯,就開始無語了

經過多次嘗試,終於知道少了什麼

使用QMediaPlayer需要如下組件:

插件:mediaservice               在QT安裝目錄的plugins文件夾下

Qt5Core.dll

Qt5Gui.dll

Qt5Multimedia.dll

Qt5Network.dll                  雙擊運行時提示缺少

Qt5Widgets.dll                  需要這個dll覺得很奇怪,但是缺少就會上面的錯誤,爲什麼雙擊運行時不提示!!!

 

本來只是想在windows下測試一下,然後在arm板上用的,相同的代碼,也按windows的加了相應的庫,但是還是一樣的報錯

defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.mediaplayer"

沒辦法,最後只能用QSound類代替,但是QSound只能播放wav文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章