一、几种办法
1、采用activex,但只支持ie浏览器
2、超链接+注册表+批处理文件(也可以用COM组件,但没有必要这么麻烦),此处分析这种办法,可支持所有浏览器。
二、机制
1、注册表入写一个超链接的协议和一个调用本地批处理文件的命令(可动态写入,也可提前执行完注册表永久有效)
2、超链接地址为协议名称,便在点击超链接时会触发本机的注册表,可带入参数
3、注册表执行对应的命令,调用本地批处理文件,可带入参数
4、批处理文件调用本地播放器
三、实例
1、注册表文件
Windows Registry Editor Version 5.00 by 康夫子 2021
[HKEY_CLASSES_ROOT\aiplay]
@="URL:aiplay Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\aiplay\Shell]
[HKEY_CLASSES_ROOT\aiplay\Shell\Open]
[HKEY_CLASSES_ROOT\aiplay\Shell\Open\command]
@="\"C:\\MPC-HC\\aiplay.bat\" \"%1\""
%1是参数;可带入多个参数;
编辑好之后,保存为**.reg;然后可以运行之后写入注册表
2、批处理文件
set a=%1%
set "a=%a:aiplay://=%"
set "a=%a:/opt/wacos/=%"
start C:\MPC-HC\\mpc-hc64.exe %a%
前三句是将参数获取,并解析出自己需要的部分,传给播放器
3、超链接
可以写成传统的超链接
<a href="aiplay://参数">play</a>
也可以用js的window.location.href="aiplay://"+参数 来执行,如果是嵌入在frame中,如果只是一层
parent.location.href = "aiplay://" + 参数