如何使用JCEF播放flash

时间:2017-08-28 14:57:40

标签: java flash chromium-embedded

我有使用JCEF实现的Swing嵌入式浏览器应用程序,它不播放flash,如何使其支持flash?我的操作系统是Windows 10,jdk1.8,使用maven拉取JCEF如下:

<dependency>
    <groupId>org.bitbucket.johness</groupId>
    <artifactId>java-cef</artifactId>
    <version>49.87.win64.2</version>
</dependency>

以下是我的代码

CefSettings settings = new CefSettings();
    settings.cache_path="d:/cefCache";
    String[] args={
        //  "--ppapi-flash-path=\"C:\\Users\\wei\\AppData\\Local\\Google\\Chrome\\User Data\\PepperFlash\\26.0.0.151\\pepflashplayer.dll\"",
        //  "--ppapi-flash-version=26.0.0.151",
            "--enable-system-flash=true",
            "--plugin-policy=allow"
            };
    String startURL="http://saizenmedia.com/fubon/";
//  String startURL="http://192.168.86.27:8086/?name=keno";
    CefApp cefApp = CefApp.getInstance(args,settings);
    CefClient client = cefApp.createClient();
    CefBrowser browser = client.createBrowser(startURL, false, false);
    Component browerUI = browser.getUIComponent();
    JTextField address = new JTextField(startURL, 100);
    address.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            browser.loadURL(address.getText());
        }
    });
    getContentPane().add(address, BorderLayout.NORTH);
    getContentPane().add(browerUI, BorderLayout.CENTER);
    pack();
    setSize(800,600);
    setVisible(true);

Here is what I see when run the application.

编辑:

我确实安装了“Opera和Chromium PPAPI”版本的flash 我从这里下载了版本http://opensource.spotify.com/cefbuilds/index.html 当我使用cefclient.exe和“--enable-system-flash”

时,闪光灯正常

但Java是我的应用程序的首选语言,因此JCEF。似乎JCEF和CEF之间的标志“--enable-system-flash”丢失了。 有什么建议吗?

编辑:

问题是以下未发布的代码。一旦用args

替换null,它就可以正常工作
    CefApp.addAppHandler(new CefAppHandlerAdapter(null) {
        @Override
        public void stateHasChanged(org.cef.CefApp.CefAppState state) {
            if (state == CefAppState.TERMINATED){
                System.exit(0);
            }
        }
    });

0 个答案:

没有答案