如何用线程控制VLC实例?

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

我是Python新手,所以我做任何事情都是按照网上找到的教程和代码来做的,我遇到了这个问题,我想解决这个问题已经有一段时间了,但没有任何进展。我希望我的描述至少能让人理解,因为我自己也不太明白这个问题......

我有2个文件,每个文件都有一个用OOP做的类。mainfile.py和它的类是用来接受用户输入,并从mysql数据库中寻找和选择歌曲,然后它把音乐文件和它的音乐类作为一个新的线程运行,并传递歌曲名称。音乐文件类设置了vlc媒体播放器(python-vlc),然后播放选定的歌曲。

self.newInstance = vlc.Instance()self.player = self.newInstance.media_player_new()

现在它返回到主文件,主文件期待另一个用户输入,即 "停止音乐"。这将运行music文件类中的music_stop方法。

self.player.stop()

问题是它没有任何效果。音乐仍然在播放。我的想法是,当它再次运行音乐类来运行music_stop方法时,它创建了新的实例和新的mediaplayer(没有播放任何内容),并试图停止它......而不是第一个实际播放歌曲的实例。

我希望它不会太混乱。如果你有需要,请提问,因为我很确定有什么东西我忘了说。我会根据需要提供额外的信息。

非常感谢大家

python python-3.x multithreading vlc libvlc
1个回答
0
投票

在我发布这个问题后,我在几分钟内就解决了这个问题......经过4天的努力,我解决了这个问题.解决方法是让文件没有类,所以没有OOP。现在它的工作。

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