如何使用 CefSharp 启用 Adob​​e Flash?

How to enable Adobe Flash with CefSharp?

我使用的是最新版本的 CefSharp,我需要显示 Flash。使用 Chrome 时,页面会正确显示。然而,当使用 CefSharp 时,它不会。

到目前为止我试过:

        var browser = new ChromiumWebBrowser(URL)
        {
            BrowserSettings = new BrowserSettings() {
                Java = CefState.Enabled,
                Plugins = CefState.Enabled,
            },
            Dock = DockStyle.Fill
        };

当我加载 about:plugins 时,我得到:

CEF 3.2357.1287.g861c26e

Chromium 43.0.2357.130

OS Windows

WebKit 537.36

JavaScript 4.3.61.30

Flash

User Agent Mozilla/5.0 (Windows NT 6.2; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36

如何在 CefSharp 中启用 Flash?

安装 Pepper flash 或启用 NPAPI,它在 43.0.0 中默认禁用

https://github.com/cefsharp/CefSharp/blob/cefsharp/43/CefSharp.Example/CefExample.cs#L54

https://bitbucket.org/chromiumembedded/cef/issues/1586/add-pepper-flash-plugin-support#comment-16898332

我通过以下步骤解决了这个问题:

1-)我从这个 URL 下载了 pepflashplayer 插件:https://www.dllfiles.com/pepflashplayer.dll.html

2-) 我在 CefSettings 中添加了这些 CefCommandLineArgs: settings.CefCommandLineArgs.Add("enable-npapi", "1");

settings.CefCommandLineArgs.Add("ppapi-flash-path", flashPluginPath);

settings.CefCommandLineArgs.Add("ppapi-flash-version", "20.0.0.306");

flashPluginPath是pepflashplayer.dll所在的路径,"20.0.0.306是插件的版本。我用的是cefsharp版本53