На самом деле вы можете запустить VL C как «дочерний процесс» вашего приложения Electron.
Если вы сохранили путь к файлу мультимедиа в переменной с именем filepath
, вы можете использовать NodeJS * child_process
модуль, подобный этому:
var child_process = require ("child_process");
// Spawn VLC
var proc = child_process.spawn ("vlc", [ filepath ], { shell: true });
// Handle VLC error output (from the process' stderr stream)
proc.stderr.on ("data", (data) => {
console.error ("VLC: " + data.toString ());
});
// Optionally, also handle VLC general output (from the process' stdout stream)
proc.stdout.on ("data", (data) => {
console.log ("VLC: " + data.toString ());
});
// Finally, detect when VLC has exited
proc.on ("exit", (code, signal) => {
// Every code > 0 indicates an error.
console.log ("VLC exited with code " + code);
});
Вся эта регистрация данных через proc.stderr
, proc.stdout
и proc.on ("exit")
необязательна, но если вы если вы хотите, чтобы ваше приложение одновременно порождало только один экземпляр VL C, вы можете установить глобальную переменную при создании первого экземпляра, удалить ее (или установить в значение false или подобное) и обернуть весь этот блок в if () {}
, поэтому этот код позволяет одновременно запускать только один экземпляр.
Обратите внимание, что порожденные таким образом дочерние процессы фактически не зависят от вашего приложения; если ваше приложение закрывается до закрытия VL C, VL C продолжит работу.