我有一个简单的Electron应用程序,我将一个包含SWF对象的HTML页面合并到一起。我已经包含了Pepper Flash Player并从tutorial复制了main.js代码。当我从命令提示符/ git bash运行应用程序进行测试时,SWF工作正常。但是,一旦我构建应用程序并运行它,SWF内容就不会加载。内容区域只显示"无法加载插件。"。
我已经包含了32位和64位版本的Flash播放器插件。
let pluginName;
switch (process.platform) {
case 'win32':
if (process.arch === 'x64' || process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432')) {
console.log("64bit");
pluginName = "PEP/pepflashplayer64_29_0_0_171.dll";
}
else{
console.log("32bit");
pluginName = "PEP/pepflashplayer32_29_0_0_171.dll";
}
break
case 'darwin':
pluginName = 'PEP/PepperFlashPlayer.plugin'
break
}
app.commandLine.appendSwitch('ppapi-flash-path', path.join(__dirname, pluginName))
答案 0 :(得分:0)
我通过大量试验和错误找出了我的问题(有一些)。
除此之外,在应用程序中我更新了switch语句以确定它是构建还是测试(来自cmd行),如下所示:
switch (process.platform) {
case 'win32':
if (basename === "resources") {
pluginName = "../../pepflashplayer32_29_0_0_171.dll";
}
else {
pluginName = "./plugins/pepflashplayer32_29_0_0_171.dll";
}
break
case 'darwin':
if (basename === "resources") {
pluginName = '../../PepperFlashPlayer.plugin'
}
else {
pluginName = './plugins/PepperFlashPlayer.plugin'
}
break
}
我希望这可以节省一些时间。