FlashPlayerApplet.txt 15.5 KB
Newer Older
Z
zorrosoft 已提交
1
Flash网页播放器:基于跨浏览器的原生小程序系统-PluginOK(牛插)中间件( https://github.com/wangzuohuai/WebRunLocal )网络高级版开发,底层调用Adobe公司的ActiveX控件Flash.ocx实现播放。最低可用在Chrome 41、Firefox 50、Edge 80(Chromium内核)、360极速/安全、IE 8、Opera、Electron、Vivaldi、Brave、QQ、搜狗等浏览器,也兼容运行于这些浏览器的最新版本。
W
wangzuohuai 已提交
2 3 4 5 6 7

1、牛插(PluginOK)中间件的安装:
1)、如果是exe的安装程序,请直接运行安装;
2)、如果是绿色版的程序包,请解压到磁盘某个目录后,双击“InstallWrl.bat”进行安装;
3)、安装完成时会启动PluginOK中间件服务,在安装目录下的Data子目录有ZbaService.txt日志文件输出运行情况。

Z
zorrosoft 已提交
8
2、Flash网页播放器控制相关接口:
W
wangzuohuai 已提交
9
说明:以下功能请通过Web Socket连接PluginOK主服务(ws://localhost:83?sid=12345&flag=1)后可执行,如默认侦听端口不是83(关于如何配置侦听端口,请参考SDK包中的文档“PluginOK开发者手册.pdf”),请在连接地址中指定端口号进行连接。
W
wangzuohuai 已提交
10
HTTP网页在线测试:http://local.zorrosoft.com/flashfull.html       HTTPS网页在线测试:https://local.zorrosoft.com/flashframe.html
W
wangzuohuai 已提交
11 12
如还需兼容IE浏览器使用,网络版测试网页中 <object ID="WrlWS" CLASSID="CLSID:C0971B90-4513-4E2D-A0B6-15B915FE748A" width="0" height="0"></object>
的CLSID需要替换为:21ADE2E6-B4DD-4F3E-8BD5-9DDAD1785F3A
13
前端集成可参考以上测试网页进行,需要嵌入用到的JS脚本,脚本程序是完全开源的。
W
wangzuohuai 已提交
14

Z
zorrosoft 已提交
15
1)、请求启动Flash网页播放器:
16
Type为浏览器类型,传0自动判断(前提是当前浏览器已启动并显示在最前端,Flag指定当前页加载时必须是0) 可强制指定浏览器类型Type(1代表IE 2代表Chrome 4代表Firefox 8代表Opera 16代表Edge(Chromium内核) 20代表Electron 32代表360极速浏览器 33代表360安全浏览器 34代表360企业安全浏览器 50代表QQ浏览器 60代表搜狗浏览器)
W
wangzuohuai 已提交
17
Title:网页标题中的关键词
18
Url:加载网页组件所在的网页实际地址,在网页中指定小程序的显示位置和大小,不建议使用了,建议改用Web参数
Z
zorrosoft 已提交
19
Flag掩码标记:1指定新标签加载(1和16都不指定时为当前页加载) 2小程序显示窗口边框 4不自动裁剪越界窗口 8自动适配网页高度和宽度显示 128防截屏
20
Web:可自定义的JSON配置 Flag包含64时可替换Url参数使用
W
wangzuohuai 已提交
21
IframeX和IframeY分别为iframe嵌套的横竖偏移修正坐标
W
wangzuohuai 已提交
22
BarW和BarH分别是网页右侧和底部预留区域,ScrollTop为顶部滚动预留高度
23
小程序实际显示首先会基于Url或Web中指定的坐标和大小,再根据IframeX、IframeY、BarW、BarH设定的值做修正
W
wangzuohuai 已提交
24
Open:为需要播放的多媒体路径,磁盘目录斜杠用/
25
注意:Open、Web和Url如果有特殊字符= & 双引号或中文等,需要用URL编码处理后传递
W
wangzuohuai 已提交
26 27
举例:
自动识别当前浏览器指定位置和大小启动:
Z
zorrosoft 已提交
28
{"req":"Wrl_AppletStart","rid":1,"para":{"Type":"0","Title":"Flash播放小程序","NodeName":"FlashApplet","PID":"E7C7BDA6-C828-46F1-A7BA-B4C572A01100","Flag":66,"Left":20,"Top":20,"Width":480,"Height":320,"IframeX":0,"IframeY":210,"BarW":0,"BarH":0,"Version":"0","Web":[],"Open":"http://zorrosoft.com/Files/test.swf"}}
W
wangzuohuai 已提交
29 30

自动识别当前浏览器自动适配网页大小启动:
Z
zorrosoft 已提交
31
{"req":"Wrl_AppletStart","rid":1,"para":{"Type":"0","Title":"Flash网页","NodeName":"FlashApplet","PID":"E7C7BDA6-C828-46F1-A7BA-B4C572A01100","Flag":72,"Left":0,"Top":0,"Width":0,"Height":0,"IframeX":0,"IframeY":0,"Version":"0","Zoom":100,"ScrollTop":0,"Web":[],"Open":"http://zorrosoft.com/Files/test.swf"}}
W
wangzuohuai 已提交
32 33

当前页指定位置自动适配网页加载测试
W
wangzuohuai 已提交
34
http://local.zorrosoft.com/flashframe.html
W
wangzuohuai 已提交
35

W
wangzuohuai 已提交
36
启动后会先后收到三个JSON数据包
W
wangzuohuai 已提交
37
A、{"ret":0,"rid":1,"data":{"ID":2}}
W
wangzuohuai 已提交
38
代表小程序WS侦听服务就绪
Z
zorrosoft 已提交
39
B、{"event":"Wrl_Listen","aid":2,"rid":1,"data":{"SID":"123","PID":"E7C7BDA6-C828-46F1-A7BA-B4C572A01100","port":996}}
W
wangzuohuai 已提交
40
返回的侦听端口,可再建立一个Web Socket连接后,调用小程序中的相关功能,比如新播放一个Flash。
41
代表小程序创建成功,返回ID为当前小程序运行实例ID,通过此ID,可执行Wrl_AppletControl、Wrl_AppletScroll、Wrl_AppletResize等命令。
42
C、{"event":"Wrl_AppletOK","aid":2,"rid":1,"data":{"SID":"123","PID":"E7C7BDA6-C828-46F1-A7BA-B4C572A01100","Port":996}}
W
wangzuohuai 已提交
43

Z
zorrosoft 已提交
44
2)、请求控制Flash网页播放器:
W
wangzuohuai 已提交
45 46 47 48
当前端不再需要小程序时可指定关闭,或者显示/隐藏及全屏显示等
ID为Wrl_FlashApplet启动小程序时返回JSON中的ID值,Code代表控制类型掩码:1关闭 2全屏显示 4自动隐藏 8还原显示 16自动适配网页高度和宽度显示模式切换 32强制隐藏。其中全屏显示2,可直接通过热键ESC或取消,4和32隐藏后可通过8恢复显示
{"req":"Wrl_AppletControl","rid":2,"para":{"ID":"1","Code":4}}

Z
zorrosoft 已提交
49
3)、请求滚动网页中Flash网页播放器:
W
wangzuohuai 已提交
50 51 52 53 54 55
当前端截取到网页滚动通知时,需要调用此接口实现小程序和网页的滚动联动
ID为启动小程序时返回JSON中的ID值
Code为滚动方向1是水平直,2是垂直,3是同时
Left为横向滚动条位置,Top为纵向滚动条位置
{"req":"Wrl_AppletScroll","rid":3,"para":{"ID":"1","Code":2,"Left":0,"Top":100}}

Z
zorrosoft 已提交
56
4)、请求改变网页中Flash网页播放器显示位置或大小:
W
wangzuohuai 已提交
57 58 59 60 61 62 63 64 65 66 67 68 69 70
当前端网页显示区域缩放时,可动态修改小程序的显示位置或大小
ID为Wrl_FlashApplet启动小程序时返回JSON中的ID值,Width和Height分别为新的宽度和高度
X和Y分别为新的显示位置,不指定时保持不变,指定时原设置的IframeX和IframeY失效
{"req":"Wrl_AppletResize","rid":4,"para":{"ID":1,"Width":500,"Height":600}}
或,同时修改小程序显示起始坐标
{"req":"Wrl_AppletResize","rid":5,"para":{"ID":1,"Width":500,"Height":600,"X":20,"Y":20}}

5)、请求设置网页预留右侧宽度和底部高度,滚动条信息、垂直滚动及水平滚动位置:
当小程序显示区域超过当前网页时,需去除滚动条的显示影响
ID为启动小程序时返回JSON中的ID值,BarW为预留右侧宽度 BarH为预留底部高度
Code 1代表有水平滚动条,2代表有垂直滚动条,3代表都有
ScrollTop垂直滚动条位置 ScrollTop水平滚动条位置
{"req":"Wrl_ScrollBar","rid":6,"para":{"ID":"1","Code":2,"BarW":0,"BarH":0,"ScrollTop":0,"ScrollLeft":0}}

W
wangzuohuai 已提交
71 72 73
6)、请求对小程序窗口做Alpha透明处理,便于前端临时显示覆盖到小程序窗口的菜单等:
ID为Wrl_FlashApplet启动小程序时返回的ID值,Alpha为透明度百分比,1-100
{"req":"Wrl_AppletAlpha","rid":7,"para":{"ID":1,"Alpha":30}}
W
wangzuohuai 已提交
74

W
wangzuohuai 已提交
75 76 77 78
7)、请求对小程序窗口内容进行截图:
ID为启动小程序时返回JSON中的ID值,
File为指定截图文件保存路径或扩展名
Base64指定为1时代表返回BASE64编码的图像内容
Z
zorrosoft 已提交
79
{"req":"Wrl_AppletSnap","rid":10,"para":{"ID":1,"Base64":1,"File":".jpg"}}
W
wangzuohuai 已提交
80

W
wangzuohuai 已提交
81
8)、请求缩放内嵌网页小程序,用于浏览器网页按比例缩放,一般不需要处理:
W
wangzuohuai 已提交
82
ID为启动小程序时返回JSON中的ID值,不指定Scale时,获取当前小程序所用的缩放百分比,一般和系统缩放比例一致
W
wangzuohuai 已提交
83
{"req":"Wrl_AppletScale","rid":11,"para":{"ID":1,"Scale":120}}
W
wangzuohuai 已提交
84 85

3、小程序安装、升级、卸载
Z
zorrosoft 已提交
86
1)、请求安装Flash网页播放器
W
wangzuohuai 已提交
87
请在测试网页输入框中,输入如下请求,然后点击发送,完成安装:
W
wangzuohuai 已提交
88

89
{"req":"Plugin_Install","rid":1,"para":{"Name":"Flash网页播放器","PID":"E7C7BDA6-C828-46F1-A7BA-B4C572A01100","Date":"2023-11-19","Desc":"PluginOK之上跨浏览器的Flash Player网页小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Net/FlashWebPlayer.pid","MD5":"E7AA2CCB1B9795A0C2F28F3190EB4388","Version":"2.2.12.1","Size":688128,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"42F1D2A7D01F21B1893F5ED87A3C5524849119DF18271216C942C6416F2716D5CB26D756DAD7E3F8725DAE89412258AC32B88F34DF39C8D6AFD109113CB1849FD8795112B54A3AB2D4E17A4B87826C82AEAA02C7684EE46BEE3A36B45FA073764047ED5AC06D11BCED70A38646A71CEEEF8F886790182947628EC10F41C8FCEE97D01930B6377A8265D1CFB011B74AC9CF1FF3F87A6E2B28A167DAA54CD41A0A4047CF408185BA014A7FB454C537770FA85CEE797502E2184CBC31028E865571E87387E5BFCC5E1F0F389B1B64C475B48A67939D9BFF31A8D11E48707A6A80DDFDB8373E2E2121997B4CA0A064C5519422A484351243D97DCEBD2C3E6BE6CA32"}}
W
wangzuohuai 已提交
90 91 92

启动安装后,会不断收到安装进度直到安装结束。

Z
zorrosoft 已提交
93
2)、请求升级Flash网页播放器:
W
wangzuohuai 已提交
94

95
{"req":"Plugin_Update","rid":1,"para":{"Name":"Flash网页播放器","PID":"E7C7BDA6-C828-46F1-A7BA-B4C572A01100","Date":"2023-11-19","Desc":"PluginOK之上跨浏览器的Flash Player网页小程序,支持在Chrome、Edge、Firefox、IE、Oprea、360、QQ等最新版本浏览器网页中内嵌使用","DownAddr":"http://local.zorrosoft.com/Files/Net/FlashWebPlayer_Update.pid","MD5":"2819245E4DE272E43CB1C024B661000C","Version":"2.2.12.1","Size":688128,"HideIns":0,"Type":8,"Cookie":"","Auth":"","TK":"9420DF83649B579A6E4247F31167B7673D76EB96145AABB48C7464FA3951BFDA3CF6FC9F806324F324152F5D15C94CC496F6097A7F38AAF2BED69BF9301C55D66109BD3A0B23599AFAFB8999F72D17BAB0B8A257B7CC753A51BFB0A38E9B366C9C397B3C557601CC570979CCFF88BEBCC81B8265D56FBA5837599CB707865B818CA5FB8F0A59B7FF59E907FD4B9C19ABF7928BC9130298E02CD245C8F37F4A547E77F830B54BFFD08FC2F470170486F0EBBDDDA33353A03EDACA116FD8C4598705359B956BDE2C35F3A0630C996E8C09091484D823BB9CA43E10CFC5A6B247F04AE766DA903E691A844FDC997383AE33B2B7A099982FD03CC7EED7FDB7518779"}}
W
wangzuohuai 已提交
96 97 98

以上安装和升级的JSON请求包,可能因版本升级导致内容不同,如遇安装或升级时报错,请联系客服获取最新的请求包。 

Z
zorrosoft 已提交
99
3)、请求卸载Flash网页播放器:
W
wangzuohuai 已提交
100
正式版需要添加TK校验,具体规则请参考SDK包中文档“PluginOK中间件安全解决方案.doc”,可在SDK包中的打包程序ZbaPackage.exe的中间件维护生成带TK的请求。
W
wangzuohuai 已提交
101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
{"req":"Plugin_Remove","rid":3,"para":{"PID":"E7C7BDA6-C828-46F1-A7BA-B4C572A01100","Type":8}}

4、Flash Player小程序转调用ActiveX接口,先根据Wrl_FlashApplet请求启动后返回的端口号,新建立一个WebSocket连接后可执行如下指令:
A、常用功能请求:
1) 当前是否在播放
请求:{"req":"Flash_IsPlaying","rid":50,"para":{}}
返回:{"ret":0,"rid":50,"data":{"IsPlaying":"1"}}
ret为请求返回值,0正常,非零不正常,不正常时请取和ret同级的错误描述err,下同
IsPlaying为1代表正常播放

2) 设置是否循环播放
请求:{"req":"Flash_PutLoop","rid":51,"para":{"Loop":"1"}}
返回:{"ret":0,"rid":51,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常

3) 获取是否循环播放
请求:{"req":"Flash_GetLoop","rid":52,"para":{}}
返回:{"ret":0,"rid":52,"data":{"Loop":"1"}}
Loop返回是否循环播放,1代表循环

4) 设置播放内容
请求:{"req":"Flash_PutMovie","rid":53,"para":{"Movie":"http://zorrosoft.com/Files/test.swf"}}
Movie为播放路径,如果是本地文件或非英文的,本地路径斜杠\替换为反斜杠/,非英文的需要URL编码后再传递
返回:{"ret":0,"rid":53,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常

5) 获取循环内容
请求:{"req":"Flash_GetMovie","rid":54,"para":{}}
返回:{"ret":0,"rid":54,"data":{"Movie":"http://zorrosoft.com/Files/test.swf"}}
Movie返回循环内容

6) 请求播放执行
请求:{"req":"Flash_Play","rid":55,"para":{}}
返回:{"ret":0,"rid":55,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常

7) 请求播放停止
请求:{"req":"Flash_Stop","rid":56,"para":{}}
返回:{"ret":0,"rid":56,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常

8) 请求播放回退
请求:{"req":"Flash_Back","rid":57,"para":{}}
返回:{"ret":0,"rid":57,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常

9) 请求播放前进
请求:{"req":"Flash_Forward","rid":58,"para":{}}
返回:{"ret":0,"rid":58,"data":{"Ret":"0"}}
Ret为调用ActiveX对应函数返回值,0代表正常

10) 请求Flash的版本
请求:{"req":"Flash_Version","rid":59,"para":{}}
返回:{"ret":0,"rid":59,"data":{"Ret":"0"}}
Version返回版本信息

11) 请求退出小程序
W
wangzuohuai 已提交
158
未连接到小程序侦听WS端口时直接关闭到中间件的WS连接即可
W
wangzuohuai 已提交
159
请求:{"req":"Flash_Exit","rid":60,"para":{}}
W
wangzuohuai 已提交
160
无返回
W
wangzuohuai 已提交
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220

B、其他功能请求:

1) 请求获取Flash参数
请求:{"req":"Flash_GetFlashVars","rid":70,"para":{}}
返回:{"ret":0,"rid":70,"data":{"FlashVars":""}}
FlashVars返回参数

2) 请求设置Flash参数
请求:{"req":"Flash_PutFlashVars","rid":71,"para":{"FlashVars":"Test"}}
返回:{"ret":0,"rid":71,"data":{"Ret":""}}
Ret为调用ActiveX对应函数返回值,0代表正常

3) 请求获取参数
请求:{"req":"Flash_GetVariable","rid":72,"para":{"Name":"Test"}}
返回:{"ret":0,"rid":72,"data":{"Variable":""}}
FlashVars返回参数

4) 请求设置参数
请求:{"req":"Flash_PutVariable","rid":73,"para":{"Name":"Test","Value":"1"}}
返回:{"ret":0,"rid":73,"data":{"Ret":""}}
Ret为调用ActiveX对应函数返回值,0代表正常

5) 请求获取就绪状态
请求:{"req":"Flash_GetReadyState","rid":74,"para":{}}
返回:{"ret":0,"rid":74,"data":{"ReadyState":""}}
ReadyState返回就绪状态

6) 请求获取总帧数
请求:{"req":"Flash_GetTotalFrames","rid":75,"para":{}}
返回:{"ret":0,"rid":75,"data":{"TotalFrames":""}}
ReadyState返回就绪状态

7) 请求获取加载百分比
请求:{"req":"Flash_PercentLoaded","rid":76,"para":{}}
返回:{"ret":0,"rid":76,"data":{"PercentLoaded":""}}
PercentLoaded返回加载百分比

8) 请求获取播放品质
请求:{"req":"Flash_GetQuality","rid":77,"para":{}}
返回:{"ret":0,"rid":77,"data":{"Quality":""}}
Quality返回播放品质

9) 请求设置播放品质
请求:{"req":"Flash_PutQuality","rid":78,"para":{"Quality":1}}
返回:{"ret":0,"rid":78,"data":{"Ret":""}}
Ret为调用ActiveX对应函数返回值,0代表正常

10) 请求获取背景色
请求:{"req":"Flash_GetBackgroundColor","rid":79,"para":{}}
返回:{"ret":0,"rid":79,"data":{"BackgroundColor":""}}
BackgroundColor返回播放品质

11) 请求设置背景色
请求:{"req":"Flash_PutBackgroundColor","rid":80,"para":{"BackgroundColor":-1}}
返回:{"ret":0,"rid":80,"data":{"Ret":""}}
Ret为调用ActiveX对应函数返回值,0代表正常

如您需要更多的接口,请联系我们。

Z
zorrosoft 已提交
221
5、Flash网页播放器接收的通知:
W
wangzuohuai 已提交
222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
这些通知必须通过WebSocket连接到此小程序侦听的端口才能接收到。
A、ActiveX事件:

1) ReadyState状态变化事件通知
{"event":"Flash_ReadyStateChange","data":{"State":0}} State为状态值

2) Progress进度事件通知
{"event":"Flash_Progress","data":{"Percent":0}} Percent为进度百分比

3) FSCommand执行事件通知
{"event":"Flash_FSCommand","data":{"Command":"","Args":""}} Command为请求命令,Args为参数

4) Call事件通知
{"event":"Flash_Call","data":{"Request":""}} Request为请求

B、PluginOK支持的事件通知:

1) Flash_FullScreen 小程序是否响应了热键全屏
{"event":"Flash_FullScreen","data":{"FullScreen":0}} FullScreen为当前是否全屏标记

2) Wrl_AppletExit 小程序退出通知
{"event":"Wrl_AppletExit","data":{"ID":1}}

6、其它
请求参数的JSON数据包,请确保是UTF-8无签名的编码。
W
wangzuohuai 已提交
247
更多接口请求说明,请参考安装目录中的文档TestWrl.txt和SDK包中的“PluginOK开发者手册.pdf”。
W
wangzuohuai 已提交
248
如还有疑问请直接联系客服 加微信:ZorroSoft,或加QQ群:23126938