# aardio 范例: WebView2 加载开源 Flash 播放器

```aardio
//开源 Flash
//调用开源 Flash 播放器 Ruffle
import web.ruffle;
import inet.http;
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";
	 
		//使用 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();
```