Я работаю над сценарием, который открывает медиа-файлы в VLC Media Player одним из методов os.exec*
. Я использую Python v3.6 на Windows 10.
VLC открывается с ошибкой, утверждающей, что файл не может быть открыт, однако путь к файлу также неверен. Он показывает путь к файлу, начиная с моего домашнего каталога, за которым следует последняя часть имени файла, разделенная пробелом.
Пример:
- У меня есть видео по пути
D:\videos\SuperCoolVideo - Part1.mp4
- VLC пытается открыть это видео по пути
C:\Users\user\Part1.mp4
вместо
Код, который я использую, выглядит следующим образом:
import os
MEDIA_PLAYER = 'C:\\Program Files (x86)\\VideoLAN\\VLC\\vlc.exe'
video = 'D:\\videos\\SuperCoolVideo - Part1.mp4'
os.execv(MEDIA_PLAYER, [video]) # or os.execl(MEDIA_PLAYER, video)
Ошибка от VLC:
Your input can't be opened:
VLC is unable to open the MRL 'fd://0'. Check the log for details.
Your input can't be opened:
VLC is unable to open the MRL 'file:///C:/Users/user/Part1.mp4'. Check the log for details.
Я думаю (но не совсем уверен), что это потому, что я должен определить путь к видео или правильно избежать пути, но у меня не получилось в моем исследовании того, как правильно передать путь к VLC.
Я также пытался использовать os.system()
безрезультатно. Я получаю следующее сообщение об ошибке:
The filename, directory name, or volume label syntax is incorrect.
* ПРИМЕЧАНИЕ: я должен добавить, что не могу использовать subprocess.call('path\to\vlc.exe')
, потому что мне нужно, чтобы скрипт завершился сразу после открытия VLC. Использование subprocess.call()
заставляет скрипт оставаться запущенным, пока я не закрою VLC.