我目前正在制作某种程序,可以使用遥控器控制PC,其中一个功能是音乐播放(在后台,播放器将不可见)。我知道 python 中还有其他选项,但唯一的轻量级选项是 Playsound,它无法暂停和停止音乐。
所有其他软件包都会显着增加可执行文件的大小,因此我决定使用 VLC 作为可下载的扩展。现在,我不希望用户安装VLC,只是为了下载便携式VLC库并使用它们来获得VLC播放功能。有什么方法可以将 python VLC 绑定与 VLC 的便携式版本一起使用吗? (无需安装,这就是重点)
谢谢!
具体来说, python-vlc 使用 libvlc.dll 和 libvlccore.dll 。在 Windows 计算机上,它将副本放置在 /windows/system32/ 中。您可以测试仅复制这两个 DLL,而不是进行完整安装。
这是一个厚脸皮的解决方案。所以你要做的就是在你的电脑上安装vlc,然后使用
读取字节with open('vlc.exe', 'rb') as fa:
fa.read()
您必须对所有依赖项执行此操作。然后在您现有的代码中。添加
with open('vlc.exe', 'wb') as g:
g.write('your existing bytes')
然后在另一台电脑上运行脚本将重新创建 vlc,但不需要安装,也不会产生互联网费用。请注意,wb 模式会创建一个新文件,但如果它存在,它将覆盖它。
所以我可能有点晚了,但这对我有用:
我下载了 vlc 的便携式版本(它可能也适用于普通的 vlc 安装),然后将插件文件夹、libvlc.dll 和 libvlccore.dll 放入我的项目中的文件夹中。然后我写了这个:
import os
dirname = os.path.dirname(__file__)
#with that I made the relative path into an absolute path
vlc_path = os.path.join(dirname,'vlc_folder')
#the plugins folder, libvlc.dll and libvlccore.dll is in the folder named vlc_folder which is in my project folder
os.environ['PATH'] += ';' + vlc_path
import vlc
#now importing the module should work
我使用 BingAi 和其他 stackoverflow 问题得到了这个答案