Discuz! Board

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

Qt5.5.1基于QWebView实现flash播放

[复制链接]

1228

主题

1998

帖子

7598

积分

认证用户组

Rank: 5Rank: 5

积分
7598
跳转到指定楼层
楼主
发表于 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---------------没成功

回复

使用道具 举报

1228

主题

1998

帖子

7598

积分

认证用户组

Rank: 5Rank: 5

积分
7598
地板
 楼主| 发表于 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


回复 支持 反对

使用道具 举报

1228

主题

1998

帖子

7598

积分

认证用户组

Rank: 5Rank: 5

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

使用道具 举报

1228

主题

1998

帖子

7598

积分

认证用户组

Rank: 5Rank: 5

积分
7598
沙发
 楼主| 发表于 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的插件

回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-20 06:27 , Processed in 0.057296 second(s), 20 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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