我有使用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);
编辑:
我确实安装了“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);
}
}
});