pygtk vlc播放器不播放下一首曲目

问题描述 投票:0回答:1

我正在写一个基于libvlc的小型自定义播放器。我已经使用了https://github.com/hartror/python-libvlc-bindings/blob/master/examples/gtkvlc.py的大部分代码,就像我需要的那样播放单曲。

现在我想在之前完成之后切换到另一个轨道。为此,我捕获回调“EventType.MediaPlayerEndReached”并在回调处理程序中编写代码:

<------>def endCallback(self,event):
<------><------>fname = vlc_controller.GetNextTrack()['url']
<------><------>self.w.set_title(fname)
<------><------>self.vlc.player.set_mrl(fname)
<------><------>self.w.set_title('after set_mrl')
<------><------>self.vlc.player.play()
<------><------>self.w.set_title('after play')

现在,当这个代码被执行时,它会卡在self.vlc.player.set_mrl(fname)上并且不再继续下去,因此我看不到下一个跟踪。

我已尝试使用(vlc.stop()vlc.set_media而不是vlc.set_mrl)此代码的不同变体,但没有任何作用

pygtk vlc libvlc
1个回答
0
投票

终于....我认为最好的选择是在python 2线程上创建多线程应用程序:

  1. 主要线程 - gtk.loop和显示视频一些其他想法
  2. 使媒体切换的附加线程。

有一段时间我害怕多线程,但现在我知道这是完成这项任务的最佳方式

© www.soinside.com 2019 - 2024. All rights reserved.