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

标签 python qt pyqt playback 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 上使用声子,我的代码多了几行:

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 集成)。

关于python - 如何使用 PyQt 的 Phonon 播放一首简单的歌曲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8050050/

相关文章:

python - 将zip文件输出到特定目录,而不是脚本目录

python-3.x - QObject::moveToThread:当前线程(0x7fec075fd3a0)不是对象的线程(0x7fec07e67800)。无法移动到目标线程 (0x7fec075fd3a0)

qt - 如何将标题设置为 QListView

c++ - QTableView 的 qt setItem 导致 "program not responding"

python - PyQt5:如何对齐状态栏的元素?

c# - 基于百分比加权的选择

python - django orm 中的 Postgresql 前缀

python - mypy:基类没有属性x,如何在基类中输入提示

python - PyQt4 如何通过单击按钮使用多处理

python - 如何在我的 GUI 上绘图