firemail
标题:
Qt5.5.1基于QWebView实现flash播放
[打印本页]
作者:
Qter
时间:
2018-4-18 14:14
标题:
Qt5.5.1基于QWebView实现flash播放
本帖最后由 Qter 于 2018-4-19 16:03 编辑
Linux下引入 QWebView
#include <QWebView>
QWebView* webView;
QVBoxLayout * mainLayout;
QWebSettings *websetting;
websetting = QWebSettings::globalSettings();
websetting->setAttribute(QWebSettings::PluginsEnabled, true);
websetting->setAttribute(QWebSettings::JavaEnabled, true);
mainLayout = new QVBoxLayout(ui->page);
webView= new QWebView(ui->page);
mainLayout->addWidget(webView);
webView->load(QUrl("http://www.firemail.wang:8088/chunhui_resource/preschool/letters/a.swf"));
webView->show();
复制代码
上在代码 无论是windows还是linux都无法播放flash
网页可以正常打开
链接:
https://pan.baidu.com/s/1WG644b1uJl2tka6KzfujBg
密码:sk97
----------windows-------------
安装flashplayer29_ha_install.exe后,会生成如下两个文件
C:\Windows\SysWOW64\Macromed\Flash\NPSWF32_29_0_0_140.dll
C:\Windows\System32\Macromed\Flash\NPSWF64_29_0_0_140.dll
下载 NPSWF32_13_0_0_182.dll
放置在exe目录下的plugins, 否则可能无法加载flash 插件
目录结构:
test.exe
plugins
└────NPSWF32_13_0_0_182.dll
--------cpu占用高??------------
下载其它版本
https://www.dll-files.com/npswf32.dll.html
--------------linux---------------没成功
作者:
Qter
时间:
2018-4-18 15:03
本帖最后由 Qter 于 2018-4-18 17:04 编辑
https://www.cnblogs.com/lingdhox/p/3666072.html
1. 通过QAxWidget 调用com形式显示flash, 需要本机安装IE flash插件
2. 直接通过qwebview显示flash, 需要下载webkit 的flash插件 NPSWF32.dll ---windows下成功
下载 NPSWF32_13_0_0_182.dll
放置在exe目录下的plugins, 否则可能无法加载flash 插件
目录结构:
test.exe
plugins
└────NPSWF32_13_0_0_182.dll
显示本地flash 需要加file:/// , 如 file:///d:/myswf.swf
npswf.dll 在本人写文章时, 最新版是13, 大小15M.
估计大部分可能无法接受这个大小
所以, 如果你没有用到很高级的flash特性的话, 建议找版本老一点的npswf.
比如本人用的就是9.x版的npswf.dll, 大小仅为2.6M
3.还有另外一种方法, 为QWebView编写插件, 手动解析flash
这个方法是有很严重的bug, 这里只是说下思路, 并且该方法也可以用于解析pdf等等
写一个webkit的插件
作者:
Qter
时间:
2018-4-18 15:13
本帖最后由 Qter 于 2018-4-18 15:14 编辑
网景NPAPI(Netscape Plugin API)
NPAPI是当今最流行的插件架构,几乎所有浏览器都支持,不过存在很大的安全隐患,插件可以窃取系统底层权限,发起恶意攻击。
2010年,Google开发了新的PPAPI,将外挂插件全部放到沙盒里运行,2012年Windows、Mac版本的Chrome浏览器先后升级了PPAPI Flash Player,并希望今年底之前彻底淘汰NPAPI。
现在,所有使用PPAPI接口的基于Chromium的浏览器都可以用上新版Flash Player了,但是注意Google Chrome并不需要、也不使用这种新的安装程序。
据体验过PPAPI Flash Player的用户称,它的CPU和内存占用率会比较高,主要是因为缓存大多放在内存里而不是硬盘上,还请注意
作者:
Qter
时间:
2018-4-18 17:52
linux下从
https://labs.adobe.com/downloads/flashplayer.html
下载对应平台下的32位或64位
flash_player_npapi_linux.i386.tar.gz
flash_player_npapi_linux.x86_64.tar.gz
解压后把libflashplayer.so拷贝到/usr/lib/flash-plugin
libflashplayer32.so
libflashplayer64.so
sudo ln /usr/lib/flash-plugin/libflashplayer32.so /usr/lib/mozilla/plugins/libflashplayer.so
或
sudo ln /usr/lib/flash-plugin/libflashplayer64.so /usr/lib/mozilla/plugins/libflashplayer.so
欢迎光临 firemail (http://firemail.wang:8088/)
Powered by Discuz! X3