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

标签 c linux flash webkit webkitgtk

我正在为 Linux 的 GTk+3.0 和 webkitGTK+ 开发一个应用程序,它应该在 WebView 中播放 swf 文件。首先,我尝试从设备打开 swf 文件,而不是通过互联网,但没有成功。 WebView 出现了,但在 WebView 内部我只能看到一个白屏(缺少插件)。如果我将相同的 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 设置上遗漏了一些东西,但经过几个小时的搜索和谷歌搜索后,我仍然不知道是什么。

最佳答案

如今,如果将 Flash 插件安装到 /usr/lib/mozilla/plugins 中,应该可以检测到并正常加载。 (WebKit 不会在 /opt/google/chrome/plugins 中查找,因此将它放在那里没有任何效果。)

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

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

关于c - 为什么我的webkit在/usr/lib/mozilla/plugins目录下找不到libflashplayer.so,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13361861/

相关文章:

linux - 有什么有效的方法可以轻松获取Unix下Go程序的panic log吗?

php - 检查用户是否是root

html - 立即在 FlowPlayer 中播放视频并进行缓冲?

flash - 制作Flash应用程序有任何免费工具吗?

c - 如何与Linux中的线程共享主程序的内存

c - 堆排序 heapify sort

C 替换变量号

c++ - 在 'SDL_PollEvent'中测试 'while'的正确方法

linux - GNU grep 和 AIX Unix grep 命令选项之间的差异

php - Flash AS2 将分数存储在 mysql 数据库中