为什么我的webkit在/ usr / lib / mozilla / plugins目录下找不到libflashplayer.so

时间:2012-11-13 13:47:50

标签: c linux flash webkit webkitgtk

我正在为GTk + 3.0和linux的webkitGTK +开发一个应用程序,它应该在WebView中播放swf文件。首先,我尝试从设备打开swf文件,而不是通过互联网,没有运气。 WebView显示,但在WebView中我只能看到一个白色屏幕(Missing插件)。如果我将相同的URL加载到设备浏览器,则Flash文件可以正常播放。我得到了libflashplayer.so并安装

sudo cp libflashplayer.so /usr/lib/mozilla/plugins/libflashplayer.so sudo mkdir / opt / google / chrome / plugins sudo cp libflashplayer.so / opt / google / chrome / plugins

我认为我在WebView设置上遗漏了一些内容,但经过几个小时的搜索和谷歌搜索后,我仍然不知道是什么。

1 个答案:

答案 0 :(得分:1)

如今,如果将Flash插件安装到/usr/lib/mozilla/plugins中,则应检测并加载Flash插件。 (WebKit不会查看/opt/google/chrome/plugins,因此将其放在那里无效。)

当您发布此问题时,WebKitGTK +无法处理Flash,因为Flash链接到GTK + 2,而您的应用程序使用的是GTK + 3.在同一个应用程序中混合两个版本的GTK +是不可能的。尝试加载Flash插件会导致应用程序挂起,因此WebKit会跳过该插件。所以问题是 Adob​​e Flash与GTK + 3不兼容

如今,WebKitGTK +在一个单独的插件流程中运行插件,因此这不再是一个问题。它有两个独立的插件进程,一个链接GTK + 3,另一个链接GTK + 2,并选择正确的插件进程在运行时用于插件。