当按下按钮时,我正试图在我的软件上播放一个mp3文件。
我是这样做的:
QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), playsong)
以及功能:
def playsong():
m_media = Phonon.MediaObject()
m_media.setCurrentSource(Phonon.MediaSource("files/song.mp3"))
m_media.play()
这不会引起任何错误。
但这首歌不会播放。
我在C++中看到了很多的例子,有些在Python中有很多歌曲和播放列表等等。
我只想弹一首歌,我错过了什么吗?
最佳答案
我在pyqt上使用声子,我的代码还有几行:
output = Phonon.AudioOutput(Phonon.MusicCategory)
m_media = Phonon.MediaObject()
Phonon.createPath(m_media, output)
m_media.setCurrentSource(Phonon.MediaSource("files/song.mp3"))
m_media.play()
但老实说,我发现phonon不能用奇怪的ID3标签播放一些特定的歌曲,所以我换了pyaudiere(https://pypi.python.org/pypi/pyaudiere),它更稳定(但是的,它与Qt的集成度较低)。