cef播放flash
2017-08-04 19:51:29 xiaonaiquan 阅读数 1658

1.网上有人的做法是命令行加载flash,本人没有尝试过,也没有尝试过在IDE配置中加入。有人的做法是用代码通过命令行参数去加载flash。下面要讲解的第二种做法。

2.具体做法是重载OnBeforeCommandLineProcessing()方法。把这个函数加在你继承CefClient的类中,加头文件:

#include ".....include/cef_app.h"

这个类还要继承CefApp和CefBrowserProcessHandler类。

实现OnBeforeCommandLineProcessing()方法:

void CSimpleClient::OnBeforeCommandLineProcessing(const CefString& process_type, CefRefPtr<CefCommandLine> command_line)
{
    //manifest.json中的version
    command_line->AppendSwitchWithValue("ppapi-flash-version", "20.0.0.228");

    //加载flash插件
    command_line->AppendSwitchWithValue("ppapi-flash-path", "PepperFlash\\pepflashplayer.dll");
}

对应上你flash的dll所在位置和版本号

3.主要是使用在哪里,本人初学cef,网上全部人都没有说在哪里调用这个函数或者怎么加载上。主要是初始化cef的时候把你的重写的类对象加入进去就好了。

CefInitialize(mainArgs, settings, m_simpleClient, sandbox_info);

m_simpleClient就是我定义的继承CefClient类的对象,加载初始化函数里,就加载出来flash了。

这里写图片描述

源码地址:CefMfcFlashDemo

有什么问题请联系我:839505138

2018-08-17 19:58:00 weixin_33811961 阅读数 67
void CCefClientApp::OnBeforeCommandLineProcessing(const CefString & process_type, CefRefPtr<CefCommandLine> command_line)
{
    //加载自定义flash插件
    command_line->AppendSwitchWithValue("--ppapi-flash-path", "ppflash/28_0_0_137/pepflashplayer.dll");
    command_line->AppendSwitchWithValue("--ppapi-flash-version", "28.0.0.137");

    //加载系统flash
    //command_line->AppendSwitchWithValue("enable-system-flash", "true");

}

2017-06-03 17:17:15 p13503959390 阅读数 1327

http://blog.csdn.net/x356982611/article/details/52291122


CEF可以通过命令行设置加载flash插件,有两种方式:

  • 在程序启动时添加命令行参数

cef.exe --ppapi-flash-path=ppflash/18_0_0_209/pepflashplayer32_18_0_0_209.dll --ppapi-flash-version=18.0.0.209

  • 重载OnBeforeCommandLineProcessing函数
class CCefClientApp : public CefApp, public CefBrowserProcessHandler
{
public:
    CCefClientApp();
    ~CCefClientApp();

    // CefApp methods:
    virtual CefRefPtr<CefBrowserProcessHandler> GetBrowserProcessHandler() override 
    {
        return this;
    }

    virtual void OnBeforeCommandLineProcessing(const CefString& process_type, CefRefPtr<CefCommandLine> command_line) override;

    // CefBrowserProcessHandler methods:
    virtual void OnContextInitialized() override;

private:
    // Include the default reference counting implementation.
    IMPLEMENT_REFCOUNTING(CCefClientApp);

private:

};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

void CCefClientApp::OnBeforeCommandLineProcessing(const CefString & process_type, CefRefPtr<CefCommandLine> command_line)
{
    //加载flash插件
    command_line->AppendSwitchWithValue("--ppapi-flash-path", "ppflash/18_0_0_209/pepflashplayer32_18_0_0_209.dll");
    //manifest.json中的version
    command_line->AppendSwitchWithValue("--ppapi-flash-version", "18.0.0.209");


}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

参考地址: 
https://bitbucket.org/chromiumembedded/cef/issues/1586/add-pepper-flash-plugin-support

这里写图片描述


2017-05-18 12:04:52 BestRiven999 阅读数 576

3.2357版本之前,直接添加plugins目录到exe的同级目录,然后将flash插件dll放到plugins目录里就可以了。但是从3.2357之后的版本用同样的方式,却不能正常加载flash插件,原因是chromium从42之后就不默认支持NPAPI了(3.2357使用的chromium是43),如果需要支持的话,需要通过command line设置“--enable-npapi”。设置之后就可以支持了。

[cpp] view plain copy
  1. command_line->AppendSwitch("--enable-npapi");  
2016-08-23 15:12:06 x356982611 阅读数 7743

CEF可以通过命令行设置加载flash插件,有两种方式:

  • 在程序启动时添加命令行参数

cef.exe --ppapi-flash-path=ppflash/18_0_0_209/pepflashplayer32_18_0_0_209.dll --ppapi-flash-version=18.0.0.209

  • override OnBeforeCommandLineProcessing函数
class CCefClientApp : public CefApp, public CefBrowserProcessHandler
{
public:
    CCefClientApp();
    ~CCefClientApp();

    // CefApp methods:
    virtual CefRefPtr<CefBrowserProcessHandler> GetBrowserProcessHandler() override 
    {
        return this;
    }

    virtual void OnBeforeCommandLineProcessing(const CefString& process_type, CefRefPtr<CefCommandLine> command_line) override;

    // CefBrowserProcessHandler methods:
    virtual void OnContextInitialized() override;

private:
    // Include the default reference counting implementation.
    IMPLEMENT_REFCOUNTING(CCefClientApp);

private:

};

void CCefClientApp::OnBeforeCommandLineProcessing(const CefString & process_type, CefRefPtr<CefCommandLine> command_line)
{
    //加载flash插件
    command_line->AppendSwitchWithValue("--ppapi-flash-path", "ppflash/18_0_0_209/pepflashplayer32_18_0_0_209.dll");
    //manifest.json中的version
    command_line->AppendSwitchWithValue("--ppapi-flash-version", "18.0.0.209");


}

参考地址:
https://bitbucket.org/chromiumembedded/cef/issues/1586/add-pepper-flash-plugin-support

这里写图片描述

Windows下cef flash问题

阅读数 551

1.flash加载问题CefApp::OnBeforeCommandLineProcessing的集成类中添加如下代码:TCHARszPath[MAX_PATH*2]={0};GetModuleFileName(NULL,szPath,MAX_PATH);PathRemoveFileSpec(szPath);lstrcat(szPath,_T("\\pepf

博文 来自: hou_bin1238

播放Flash

阅读数 145

Processm_process;  publicstringflashPlayname;voidStart(){    m_process=newProcess();    m_process.StartInfo.UseShellExecute=false;    m_process.StartInfo.CreateNoWin

博文 来自: zdmqweasdzxc

播放Flash

阅读数 15

不能含中文路径<div><objectclassid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="http://download.macromedia.com/pub/shockwave/_cabs/flash/swflash.cab#version=6...

博文 来自: weixin_33709364

播放Flash

阅读数 31

不能含中文路径&lt;div&gt;&lt;objectclassid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"codebase="http://download.macromedia.com/pub/shockwave/_cabs/flash/swflash.cab#version=6,0,29,0"style="wid...

博文 来自: weixin_34235105

Flash播放

阅读数 629

在.NET平台上播放FLASH,步骤如下:1)需要引入FLASH.OCX,具体位置在 ./WINDOWS/system32/Macromed/Flash/Flash9b.ocx.打开VisualStudio2005,在项目中引用这个文件.2)在VS2005的工具箱中,增加这个项目.工具箱中会增加ShockwaveFlashObject.3)使用:           axShockw

博文 来自: mliu
没有更多推荐了,返回首页