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)
それ以上進まず、その結果、NO NEXT TRACK が表示されます。
vlc.stop()
(のvlc.set_media
代わりに)を使用して、このコードのさまざまなバリエーションを試しましvlc.set_mrl
たが、何も機能しません