如何在机器上未安装 VLC 的情况下初始化 python-vlc(便携式 VLC 实例)

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

我目前正在制作某种程序,可以使用遥控器控制PC,其中一个功能是音乐播放(在后台,播放器将不可见)。我知道 python 中还有其他选项,但唯一的轻量级选项是 Playsound,它无法暂停和停止音乐。

所有其他软件包都会显着增加可执行文件的大小,因此我决定使用 VLC 作为可下载的扩展。现在,我不希望用户安装VLC,只是为了下载便携式VLC库并使用它们来获得VLC播放功能。有什么方法可以将 python VLC 绑定与 VLC 的便携式版本一起使用吗? (无需安装,这就是重点)

谢谢!

python python-3.x audio vlc python-vlc
3个回答
0
投票

具体来说, python-vlc 使用 libvlc.dll 和 libvlccore.dll 。在 Windows 计算机上,它将副本放置在 /windows/system32/ 中。您可以测试仅复制这两个 DLL,而不是进行完整安装。


0
投票

这是一个厚脸皮的解决方案。所以你要做的就是在你的电脑上安装vlc,然后使用

读取字节
with open('vlc.exe', 'rb') as fa:
    fa.read() 

您必须对所有依赖项执行此操作。然后在您现有的代码中。添加

with open('vlc.exe', 'wb') as g:
    g.write('your existing bytes') 

然后在另一台电脑上运行脚本将重新创建 vlc,但不需要安装,也不会产生互联网费用。请注意,wb 模式会创建一个新文件,但如果它存在,它将覆盖它。


0
投票

所以我可能有点晚了,但这对我有用:

我下载了 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 问题得到了这个答案

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