2017-03-16 172 views
0

我用pyqt5製作了一個小應用程序,我想播放5秒鐘的MP3。我讀過,如果我使用Qt工具,那麼我不需要使用單獨的線程。嘗試使用QMediaPlayer添加聲音事件

爲什麼不能正常工作,是否更重要?

from PyQt5 import QtCore, QtWidgets, QtMultimedia 

player = QtMultimedia.QMediaPlayer() 
sound = QtMultimedia.QMediaContent(QtCore.QUrl.fromLocalFile("c:/alarm.mp3")) 
player.setMedia(sound) 
player.setVolume(100) 
player.play() 

難道我讀的文件錯了嗎?

http://doc.qt.io/qt-5/qmediaplayer.html

player = new QMediaPlayer; 
connect(player, SIGNAL(positionChanged(qint64)), this, 
     SLOT(positionChanged(qint64))); 
player->setMedia(QUrl::fromLocalFile("/Users/me/Music/coolsong.mp3")); 
player->setVolume(50); 
player->play(); 
+0

你可能沒有安裝必要的音頻編解碼器。用'.wma'文件試一試。 – ekhumoro

+0

我嘗試使用.wma並仍在注意。我在Windows 10上,它應該播放.wav文件。 我會嘗試一個不同的IDE,在Pycharm上運行,沒有錯誤,沒有反饋。進程使用退出代碼0完成,就是這樣。 – Jack

回答

1

您必須添加QGuiApplication

from PyQt5 import QtCore, QtWidgets, QtMultimedia, QtGui 
import sys 

app = QtGui.QGuiApplication(sys.argv) 
player = QtMultimedia.QMediaPlayer() 
sound = QtMultimedia.QMediaContent(QtCore.QUrl.fromLocalFile({your filename}) 
player.setMedia(sound) 
player.setVolume(100) 
player.play() 
sys.exit(app.exec_()) 
+0

是的,那工作。 謝謝! – Jack

+0

如果我的答案有幫助,請將其標記爲正確 – eyllanesc