如何在vlc-python中添加事件和处理播放

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

在下面的代码中

# python-vlc
from vlc import Media, MediaPlayer, EventType, Event

class MusicPlayer:
    def __init__(self) -> None:
        self.items = ["/list/of/path/to/audio/file"]
        self.index = 0
        self.player: MediaPlayer = MediaPlayer(self.items[self.index])
        event_manager = self.player.event_manager()
        event_manager.event_attach(EventType.MediaPlayerEndReached, self.handleLoop)
    def change(self):
        self.player.stop()
        self.player.set_media(Media(self.items[self.index]))
        self.player.play()
    def play(self):
        self.player.play()
    def handleLoop(self, event):
        self.index += 1
        print('Play Ended')
        self.change(self.index)

当媒体播放结束时,handleLoop 应该被触发并且它确实触发了但是当它被触发时只有这两行被执行,

self.index += 1
print('Play Ended')
。 self.change(self.index) 方法不会被执行。我什至没有得到任何错误。我尝试附加错误事件,但仍然一无所获。

有人知道解决方案吗?

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