【发布时间】:2021-02-06 22:33:57
【问题描述】:
我想做一个音乐播放器,我正在通过 vlc 模块播放音频文件。 我用这段代码来播放文件:
import vlc
p = vlc.MediaPlayer("music/song.mp3")
p.play()
在 python shell 中,它可以正常工作并播放文件。 如果我尝试使用一个文件并运行它,它就会退出而不播放任何内容。
【问题讨论】:
-
在控制台/终端运行
python script.py,看看是否显示错误信息。 -
也许您安装了两个 Python,并且您使用一个 Python 运行
shell和另一个 Python 运行脚本 - 第二个 Python 可能没有安装vlc -
我在终端运行了,但是没有显示错误信息。
-
如果我在 p.play() 调用之后输入一个空输入,它也可以在文件中工作,但我需要它在没有它的情况下工作
-
现在我明白了 -
play()开始在单独的线程中播放音乐,因此您可以在主线程中运行其他代码。但是,如果您不运行其他代码(例如input()),那么它会结束脚本(并结束 Python)并停止线程与音乐。您必须在主线程中运行一些代码 - 以继续运行 Python 和线程与音乐。它可以是while True: pass而不是input()。也许模块具有检查音乐是否完成的功能-然后您可以使用它退出while True。
标签: python mp3 vlc python-vlc