admin管理员组

文章数量:1592616

Android 11播放flash的软件测试视频

上面是在Android上测试视频,可以播放本地选择的flash。视频中app的测试下载地址:

https://pan.baidu/s/10eYD7-Vrp8rwoaOho7fdGQ?pwd=1234 

如果是在网络中需要播放flash,那么你需要在网页中怎么嵌入flash呢?

<html>
<head>
<title>Android Flash Player</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript">
var playover=true;//直接播放
var total;//定义flash影片总桢数
var frame_number=-1;//定义flash影片当前桢数

//动态显示播放影片的当前桢/总桢数(进度条显示)
function showcount(){
	//已测可用CallJava.consoleFlashProgress(5);
	var num=1+fmovie.CurrentFrame();
	var millisec=150;
	if(num<frame_number || num==total)
		{CallJava.consoleFlashProgress(100);millisec=1000;}
	else
		CallJava.consoleFlashProgress(100*(num/total));

	frame_number=num;
	//geolo.innerText = "n/m: "+frame_number+"/"+total
	setTimeout(showcount,millisec);
}
function isLoad(){
	if(fmovie.PercentLoaded()==100)frame_number=0;
}
//加载影片 
function Load(){
	if(frame_number>=0) {
		total = fmovie.TotalFrames();
		if(playover && total>1) Play();
		CallJava.FlashLoaded();
		setTimeout(showcount,100);
	}else {
		setTimeout(Load,100);
		setTimeout(isLoad,50);
	}
}
//播放影片 
function Play(){
	playover=true;
	fmovie.Play();
}
//暂停播放
function Pause(){
	fmovie.StopPlay();
}
//影片高宽
function SetWH(x,y){
	var m=document.getElementById("fmovie")
	m.height=y;//m.width=x;
}
setTimeout(Load,100);
</script>
</head>
<body leftmargin=0 topmargin=0 rightmargin=0 bottommargin=0>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
	codebase="http://download.macromedia/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" 
	align="middle">
	<param name="movie" value="about:blank" />
	<param name="quality" value="high" />
	<embed src="flash.swf" bgcolor="#FFFFFF" id="fmovie" height=400 width="100%"></embed>
</object>
</body>
</html>

这个就可以在网页中嵌入flash了。 但是这样还是不能播放flash。因为你的浏览器没有支持的flash插件。早在Android 5.0之前。系统的webview支持了插件。这时候你只需要安装Android adobe flash player插件app。安装后它提供一个可扩展的插件。是这样的:

  <service android:name="com.adobe.flash.FlashPaintSurface" >
            <intent-filter>
                <action android:name="android.webkit.PLUGIN" >
                </action>
            </intent-filter>
            <meta-data
                android:name="type"
                android:value="native" >
            </meta-data>
        </service>

看到没有。这个就算adobe插件app的的xml配置。

它提供了一个这样的 渲染flash的服务。然后浏览器指导有这个插件后。与之配合渲染网页中的 <embed src="flash.swf"> 这样的节点。

其实浏览器也要为止做很大的修改。如果你感兴趣的话,可以看一下android 4.4的的webview 整个源码。当然源码非常复制,有精力能看懂的少。如果参与过浏览器的研发,一定懂这个技术 。所以前期需要储备一些浏览器插件的原理。这个也是研发自己的flash播放器的一条思路。

本文标签: 播放器源码网页方案终极版