Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2189|回复: 3
打印 上一主题 下一主题

Qt5.5.1基于QWebView实现flash播放

[复制链接]

1272

主题

2067

帖子

7962

积分

认证用户组

Rank: 5Rank: 5

积分
7962
跳转到指定楼层
楼主
发表于 2018-4-18 14:14:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Qter 于 2018-4-19 16:03 编辑

Linux下引入 QWebView
  1. #include <QWebView>

  2.     QWebView* webView;
  3.     QVBoxLayout * mainLayout;
  4.     QWebSettings *websetting;


  5.     websetting = QWebSettings::globalSettings();
  6.    websetting->setAttribute(QWebSettings::PluginsEnabled, true);
  7.    websetting->setAttribute(QWebSettings::JavaEnabled, true);
  8.    mainLayout = new QVBoxLayout(ui->page);
  9.    webView= new QWebView(ui->page);
  10.    mainLayout->addWidget(webView);
  11.    webView->load(QUrl("http://www.firemail.wang:8088/chunhui_resource/preschool/letters/a.swf"));
  12.    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---------------没成功

回复

使用道具 举报

1272

主题

2067

帖子

7962

积分

认证用户组

Rank: 5Rank: 5

积分
7962
沙发
 楼主| 发表于 2018-4-18 15:03: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的插件

回复 支持 反对

使用道具 举报

1272

主题

2067

帖子

7962

积分

认证用户组

Rank: 5Rank: 5

积分
7962
板凳
 楼主| 发表于 2018-4-18 15:13: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和内存占用率会比较高,主要是因为缓存大多放在内存里而不是硬盘上,还请注意
回复 支持 反对

使用道具 举报

1272

主题

2067

帖子

7962

积分

认证用户组

Rank: 5Rank: 5

积分
7962
地板
 楼主| 发表于 2018-4-18 17:52:20 | 只看该作者
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


回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2024-11-26 04:13 , Processed in 0.059063 second(s), 18 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表