Electron 使用Pepper Flash插件

Electron 中支持 Pepper Flash 插件的使用。想要在 Electron 裏面使用 Pepper Flash 插件,咱們須要手動設置 Pepper Flash 的路徑,而且在應用程序中啓用 Pepper Flashhtml

保留一份 Flash 插件的副本

macOSLinux 上,咱們能夠在 Chrome 瀏覽器的 chrome://plugins 頁面上找到 Pepper Flash 的插件信息。插件的路徑和版本會對 Election 對其的支持有幫助。你也能夠把插件複製到另外一個路徑以保留一份副本。linux

添加插件在 Electron 裏的開關

咱們能夠直接在命令行中用 --ppapi-flash-pathppapi-flash-version 或者在 app 的準備事件前調用 app.commandLine.appendSwitch 這個方法。同時添加 browser-window 的插件開關。例如:web

const { app, BrowserWindow } = require('electron')
const path = require('path')
// 指定flash路徑,假定它與main.js放在同一目錄中。
let pluginName
switch (process.platform) {
  case 'win32':
    pluginName = 'pepflashplayer.dll'
    break
  case 'darwin':
    pluginName = 'PepperFlashPlayer.plugin'
    break
  case 'linux':
    pluginName = 'libpepflashplayer.so'
    break
}
app.commandLine.appendSwitch('ppapi-flash-path', path.join(__dirname, pluginName))
// 可選:指定flash的版本,例如v17.0.0.169
app.commandLine.appendSwitch('ppapi-flash-version', '17.0.0.169')
app.on('ready', () => {
  let win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      plugins: true
    }
  })
  win.loadURL(`file://${__dirname}/index.html`)
  // ...
})

或者也能夠嘗試加載系統安裝的 Pepper Flash 插件,而不是裝運 插件,其路徑能夠經過調用 app.getPath('pepperFlashSystemPlugin') 獲取。chrome

使用webview標籤啓用插件

<webview> 標籤裏添加 plugins 屬性。例以下面所示:api

<webview src="http://www.adobe.com/software/flash/about/" plugins></webview>

故障排查

咱們能夠經過在控制檯打印 navigator.plugins 來檢查 Pepper Flash 插件是否加載 。瀏覽器

Pepper Flash 插件的操做系統必須和 Electron 的操做系統匹配。在 Windows 中, 一個常見的錯誤是對 64 位版本的 Electron 使用 32bit 版本的 Flash 插件。app

Windows 中,傳遞給 --ppapi-flash-path 的路徑必須使用 `` 做爲路徑分隔符,使用 POSIX-style 的路徑將沒法工做。electron

對於一些操做,例如使用 RTMP 的流媒體,有必要向播放器的 .swf 文件授予更多的權限。 實現這一點的一種方式是使用 nw-flash-trustui

連接:https://www.9xkd.com/操作系統

相關文章
相關標籤/搜索