我第一次打电话
setSource()
一切都很顺利。但是,如果我在媒体开始播放后尝试调用 setSource()
,即使事先调用 stop()
,程序也会冻结。
具体代码行为:
self.player.stop()
self.player.setSource(QUrl.fromLocalFile((self.playlist[self.track].fileName())))
令人烦恼的是它在调试模式下完美运行,所以不确定错误是什么。
我期待它只是简单地更改媒体,然后准备播放下一首歌曲。
我通过以下方法解决了冻结问题:将player.position设置为player.duration,然后等到它到达EndOfMedia后再加载下一个源