aardio 文档
aardio 范例: WebView2 加载开源 Flash 播放器
//开源 Flash
//调用开源 Flash 播放器 Ruffle
import inet.http;
import web.ruffle;
import win.ui;
/*DSG{{*/
var winform = win.form(text="WebView2 加载开源 Flash 播放器";right=966;bottom=622)
winform.add()
/*}}*/
import web.view;
var wb = web.view(winform,,"--disable-web-security"/*允许跨域*/);
//支持全屏
wb.onFullScreen = lambda(enabled) owner.fullscreen(enabled);
wb.external = {
getSwf = function(){
//上面创建 web.view 对象时添加参数 "--disable-web-security"启用跨域才能直接指定跨域 swf 网址
return "https://update.aardio.com/v10.files/demo/transparent.swf";
//可返回包含 SWF 文件二进制数据的数组、SAFEARRAY,buffer
return com.SafeArrayV( inet.http.get("https://update.aardio.com/v10.files/demo/transparent.swf") );
//本地文件可以直接返回 buffer
return string.loadBuffer("\res\tet.swf");
};
}
wb.html = /******************************
<html><head>
<meta charset="utf-8" />
<title>Flash 播放器:Ruffle </title>
<script src="<?
/*
用 web.ruffle 扩展库是为了把 HTML 代码与 aardio 代码写在一起,
如果创建了 aardio 工程,只要简单地将所有网页以及 ruffle.js 添加到工程的资源目录内,
然后用 wsock.tcp.simpleHttpServer.startUrl() 转换为网址就可以了。
这里用的是 aardio 模板语法: https://www.aardio.com/zh-cn/doc/language-reference/templating/syntax.html
*/
= web.ruffle.getUrl("/ruffle/ruffle.js")
?>"></script>
</head>
<body style="width:100vw;height:100vh;margin:0;">
<div id="container" style="width:100%;height:100%;margin:0;--logo-display:none;"></div>
<script>
(async ()=>{
const ruffle = window.RufflePlayer.newest();
const player = ruffle.createPlayer();
player.style.width = "100vw";
player.style.height = "100vh";
const container = document.getElementById("container");
container.appendChild(player);
let config = {
parameters: "", //自定义 flashvars,例如 "key1=value1&key2=value2"
allowScriptAccess: true,
scale: "showAll",
quality: "high",
letterbox: "on"
};
let dataOrUrl = await aardio.getSwf();
if( typeof dataOrUrl == "string" ) config.url = dataOrUrl;
else config.data = dataOrUrl;
player.load(config);
})();
</script>
</body>
******************************/
winform.show();
win.loopMessage();
Markdown 格式