当前位置:首页 > 前端

写给即将寿终正寝的Flash,即html5 Flash解决方案

Z先生6年前 (2020-06-21)前端848

Adobe的Flash将于2020年12月31日正式终止。

image.png

Adobe公司最近宣布,将会正式宣布停止对Flash的支持,这也变相宣布了Flash的死亡,Flash Player将于2020年12月31日正式终止,Adobe可能也认为Flash带来的缺陷和问题远远超过了Flash带来的收益。

Flash Player将在2020年12月31日之后不会在收到任何更新或者安全补丁,Adobe官方表示,建议所有用户在Flash到期之前卸载Flash Player,Windows和Mac用户请参考官方卸载说明,Adobe官方将会在今年晚些时候提示用户卸载其计算机上的Flash Player,并在到期时候禁止基于Flash的内容在Adobe Flash Player中运行。

那么做为挣扎在市场低端的网建公司,之前那么多Flash特效咋办?我手上也有一个使用了大量Flash素材的项目,如果这样,问题确实很棘手。

在寻找方案的过程中,自己从以下几个方面尝试。

1、将Swf转为视频(MP4格式或者webm格式);

市场上90%转换工具,在swf有互动的情况下(比如响应鼠标执行动画),都报错;不过天无绝人之路,找到了swivel这个工具,转换几乎没出错,MP4,webm,以及带alpha通道透明的avi。

优点:相对简单方便,

缺点:

        1)视频文件过大(MP4会很大,webm还稍好。)

        2)透明度问题,

        3)页面上同时多个视频是性能低下。

2、swf html5解析播放器;

查找了半天,找到了Mozilla HTML5 Flash播放器 ShumwayGithub)。

优点:最简单,直接替换下地址就行

缺点:

        1)使用了Mozilla HTML5 Flash播放器 Shumway,不支持透明度

        2)使用iframe,不多几个文件还好,同页面大量swf的时候,强迫症慎入。

        3)解析swf文件时偏慢,但是总归是能用的。

3、将swf转换为H5。

这个方案比较多,这里推荐使用腾讯的开源项目:fanvasDome1Dome2Dome3Dome4

优点:加载速度快,同时多个flash不存在卡顿情况。

缺点:

        1)转换麻烦,成品工具只能单个转换,有批量转换接口以及swf接口(后面单独介绍)。

        2)转换后的swf,每个都要加载播放数据,单独播放。


福利时间:

1、swf转MP4工具,Swivel1.11版:https://share.weiyun.com/rEP4ghxK

2、Mozilla HTML5 Flash播放器 Shumway整理版:https://share.weiyun.com/rEP4ghxK

用法:

<iframe src="swfPlayer/viewer.html?swf=flash文件地址" width="500" height="500" frameborder="0" allowtransparency="true"></iframe>

3、Fanvas打包下载:https://share.weiyun.com/UrkHby3b,至于Fanvas的使用单独写文章介绍。

分享给朋友:

相关文章

npm 更新模块

npm update只能按照package.json中标注的版本号进行更新,升级后不会修改package.json中的版本号,需要自己手动修改,比较麻烦。npm-check-updates 升级插件升…

js获取指定文件的路径

获取指定js文件的路径var src = '/static/js/demo.js'; var path = src.sub…

js中获取当前url路径

网上转的,用的时候整理// 返回 web 主机的域名,如:http://127.0.0.1:8080/testdemo/test.html?id=1&name=t…

截至2020年6月PC显示器分辨率占比

截至2020年6月PC显示器分辨率占比

做一个项目汇报,需要用到这个数据;首先想到的数据源是cnzz的统计,去看了半天,没有抽这个数据层面出来。然后又去找51la,很可惜没有类似的大数据报告;又去百度统计里面,看到有这个数据,但是比较抽象,…

antd vue版一些小细节

复选框选择默认选择,但是不要使用属性手上的checked,否则渲染后无法动态修改,有defaultChecked方法,但是测试无效,所以使用valuePropName:˂a-checkbox styl…

JS数组查找、删除元素

数组查找方法一:indexOf()——ES5const array = ['apple', 'banance', 'orange']array.indexOf('apple')…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。