【发布时间】:2020-05-18 18:25:13
【问题描述】:
我是 Python 新手,所以我通过在网上找到的教程和代码来做所有事情,我遇到了这个问题,我试图解决一段时间但没有任何运气。我希望我的描述至少可以理解,因为我自己真的不太了解这个问题......
我有 2 个文件,每个文件都有一个用 OOP 制作的类。 mainfile.py 及其类用于获取用户输入并从 mysql 数据库中查找和选择歌曲,然后它将音乐文件及其音乐类作为新线程运行并传递歌曲名称。音乐文件/类设置 vlc 媒体播放器 (python-vlc),然后播放所选歌曲。
self.newInstance = vlc.Instance()
self.player = self.newInstance.media_player_new()
现在它返回到需要另一个用户输入的主文件,即“停止音乐”。这会在音乐文件/类中运行 music_stop 方法。
self.player.stop()
问题是它没有效果。音乐还在播放。我的想法是,这是因为当它再次运行音乐类以运行 music_stop 方法时,它会创建新实例和新媒体播放器(它不播放任何东西)并试图停止它..而不是第一个实际播放的实例这首歌。
我希望它不会太混乱。如果您需要,请提出问题,因为我很确定有些事情我忘了提及。我会根据需要提供更多信息。
非常感谢大家!
【问题讨论】:
标签: python python-3.x multithreading vlc libvlc