如何使用PyQt的Phonon播放一首简单的歌曲?

当按下按钮时,我正试图在我的软件上播放单个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上使用phonon,我的代码还有几行:

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()

但老实说,我发现声子不能用奇怪的ID3标签播放一些特定的歌曲,所以我改用pyaudiere(https://pypi.python.org/pypi/pyaudiere),它更加稳定(但是,它与Qt的集成度较低).

上一篇:JavaScript按钮停止页面上的所有音频


下一篇:如何只在一个按钮中播放和暂停 – Android