需求
最近有个需求是使用Electron开发一个Windows直播的客户端,使用Flash进行播放相关功能,但是Electron的Flash功能需要插件支持,折腾好久才搞定,做个记录。
创建项目
安装electron
1
| $ npm install electron -g
|
创建项目
1 2 3 4
| $ mkdir test $ cd test/ $ touch package.json $ touch main.js
|
package.json
1 2 3 4 5
| { "name": "test", "version": "1.0.0", "main": "main.js" }
|
main.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| const {app, BrowserWindow} = require('electron') const {resolve} = require('path') const url = require('url')
const flashplayer = resolve(__dirname, 'pepflashplayer.dll') app.commandLine.appendSwitch('ppapi-flash-path', flashplayer); app.commandLine.appendSwitch('ppapi-flash-version', '23.0.0.194');
let win function createWindow() { win = new BrowserWindow({ width: 800, height: 600, webPreferences: { plugins: true } }) win.loadURL('http://www.iqiyi.com/v_19rrarwio8.html?list=19rrkp73da') win.webContents.openDevTools() win.on('closed', () => { win = null }) }
app.on('ready', createWindow)
app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } }) app.on('activate', () => { if (win === null) { createWindow() } })
|
放置dll文件
- 如果你有安装Chrome浏览器,可以在地址栏输入
chrome://plugins/
,点击右侧的详细信息,找到Adobe Flash Player
条目,在位置项复制pepflashplayer.dll
(Windows)文件到项目目录。
- 单独安装请打开官方下载页面
http://get2.adobe.com/cn/flashplayer/otherversions/
,选择你的操作系统,版本选择for Opera and Chromium-PPAPI
结尾的版本。安装完毕后:
- 在
C:\Windows\SysWOW64\Macromed\Flash
下找到32位版本如:pepflashplayer32_24_0_0_194.dll
(名称和版本号可能有出入)。
在C:\Windows\System32\Macromed\Flash
下找到64位版本,如:pepflashplayer64_24_0_0_194.dll
(名称和版本号可能有出入)。
- 然后复制到项目目录,重命名为
pepflashplayer.dll
即可。
启动测试
接着运行 $ electron .
打开一个爱奇艺视频链接,发现可以加载咯。