Windows系统electron集成flash播放器(.swf文件在electron中Vue页面中播放)

捣鼓了三四天,终于搞定了~~~

自我感觉难点在如何将pepflashplayer成功引入electron中,期间尝试过网上大多数说的把pepflashplayer32_31_0_0_122.dll文件放在项目目录下判断process.platform等,然而没有成功;最后是用app.getPath('pepperFlashSystemPlugin')才加载出flash的

1、使用 Pepper Flash 插件,若电脑已经下载安装了Pepper Flash 插件,可以跳过该步骤;若没有安装先去安装Pepper Flash 插件。一般来说安装后的dll文件存放在:C:\Windows\System32\Macromed\Flash\pepflashplayer64_31_0_0_122.dll或者C:\Windows\SysWOW64\Macromed\Flash\pepflashplayer32_31_0_0_122.dll   

2、初始化一个electron-vue项目

(1)在项目目录下,新建images文件夹(跟src目录平级),将.swf图片文件存放到images目录下

(2)

const path = require('path')

// 获得系统里面flash插件的位置
app.commandLine.appendSwitch('ppapi-flash-path',app.getPath('pepperFlashSystemPlugin'))
app.commandLine.appendSwitch('ppapi-flash-version', '31.0.0.122')

let mainWindow
const winURL = process.env.NODE_ENV === 'development'
  ? `http://localhost:9080`
  : `file://${__dirname}/index.html`

function createWindow () {
  /**
   * Initial window options
   */
  mainWindow = new BrowserWindow({
    height: 563,
    useContentSize: true,
    width: 1000,
    'webPreferences': {
      'plugins': true
    }
  })

mainWindow.loadURL(winURL)

  mainWindow.on('closed', () => {
    mainWindow = null
  })
}

划重点!!!上面代码段不需要全部添加,只需要在项目的src下的main主进程中的index.js中添加下列红色字体代码:

const path = require('path')

// 获得系统里面flash插件的位置
app.commandLine.appendSwitch('ppapi-flash-path',app.getPath('pepperFlashSystemPlugin'))
app.commandLine.appendSwitch('ppapi-flash-version', '31.0.0.122')


// 在createWindow () 方法里面加入

'webPreferences': {
      'plugins': true
    }

(3)在需要展示.swf格式的界面添加:

plugins  >

webview和embed标签都可以,src路径加载的是之前存放在images下面的.swf图片,注意webview一定要加plugins,否则页面显示无法加载

3、出错的话一般是flash没有加载进来,可以尝试在electron控制台上输入  console.log(navigator.plugins)  查看是否加载了flash插件

记录的有些潦草,若是上述操作后没有成功可以参考https://newsn.net/say/electron-flash-win.html

你可能感兴趣的:(Vue,electron)