I am trying to implement a VLC player control into a PyQGIS script.
python-vlc package that should be run with VLC Player installed. I have installed this package through OSGeo4W.bat but when I try
import vlc Python says that:
specific DLL cannot be found
libvlc.dll lib which is mandatory for making the VLC run in Python.
Full error code:
Traceback (most recent call last): File "C:\OSGEO4~1\apps\Python37\lib\code.py", line 90, in runcode exec(code, self.locals) File "<input>", line 1, in <module> File "C:/OSGEO4~1/apps/qgis/./python\qgis\utils.py", line 798, in _import mod = _builtin_import(name, globals, locals, fromlist, level) File "C:\OSGEO4~1\apps\Python37\lib\site-packages\vlc.py", line 220, in <module> dll, plugin_path = find_lib() File "C:\OSGEO4~1\apps\Python37\lib\site-packages\vlc.py", line 176, in find_lib dll = ctypes.CDLL('.\\' + libname) File "C:\OSGEO4~1\apps\Python37\lib\ctypes\__init__.py", line 356, in __init__ self._handle = _dlopen(self._name, mode) OSError: [WinError 126] The specified module could not be found
I looked through GIS SE, there were also cases when custom DLLs couldn't be imported through
ctypes.CDLL(dll_path) nor with
Here is a similar case: Using ctypes for QGIS Python plugin to bind DLL. Unfortunately, there wasn't a solution.
add_dll_directory() method is missing in the
os module in QGIS. Has anyone also tried to add custom DLLs to PyQGIS script/plugin? What workaround can be found here?
add_dll_directorymethod from the
add_dll_directory()was firstly represented in Python 3.8, see this: docs.python.org/3.8/library/os.html#os.add_dll_directory