分享
 
 
 

flash影片web播放控制器制作祥解

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

在闪吧看到了这个flash播放器,想下载其源码下来研究已供自己使用,没想到闪吧已做禁止下载功能。费了几天的网上搜索,除了几篇相关资料外,没有源码下载,更没有实例讲解。受不住诱惑,只好自己参考资料亲手写了。这个flash影片播放控制器时用了闪吧的播放界面,程序代码完全亲手写上。

首先我们看看flash播放控制器的界面(很简单的html代码,不过不是自己源创的) 定义样式:

<style>

body,td,button{font:normal 12px Tahoma;color:#333333;text-align:center}

.drag{position:relative;cursor:hand}

button{border:1px solid #333333;background:#EEEEEE;margin:2px;font-family:Webdings;height:20px}

div{cursor:default}

#menu{margin:3;line-height:20px;border:1px solid #dedede;background:#FFFFFF;display:none;position:absolute}

#menu a:link,a:visited{border:1px solid #FFFFFF;background:#FFFFFF;text-decoration:none;display:block;padding:0 3;margin:1;color:#333333;cursor:default;text-align:left;text-indent:15px}

#menu a:hover{background:#dedede;border-color:#666666;color:#000000}

#ctlButtons IMG{behavior:url(rollover.htc)}

</style>引用驱动程序:

<script src="play.js"></script> 以下是flash影片播放和控制界面代码:

<div oncontextmenu="return false" onselectstart="return false">

<div style="padding:0">

<table border="0" cellpadding="0" cellspacing="1" bgcolor="#000000"><tr><td>

<object id="movie" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase= "http://download.macromedia.com/pub/ shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" align="middle">

<param name="movie" value="about:blank" />

<param name="quality" value="high" />

</object>

</td></tr></table>

<table style="width:550px;height:35px;vertical-align:bottom" cellspacing="0" cellpadding="0" border="0">

<tr>

<td style="">

<table style="border:0px solid #333333;width:90%;" cellpadding="1" cellspacing="0">

<tr>

<td style="text-align:left;vertical-align:left;background:url(bg.gif);height:8px" onMouseDown="Jump(total*event.offsetX/421|0)">

<div id="bar" style="width:0%;font:3px;height:3px;background:#00FF44"></div>

</td>

<tr>

</table>

</td>

<td style="text-align:right;width:50px;font:11px Tahoma" id="frameCount"></td>

</tr>

</table>

<span id="ctlButtons">

<img onClick="Rewind();" title="跳至第一帧" text="9" src="images/button/dd1.gif" hoverSrc="images/button/hh1.gif">

<img onClick="Back();" title="快退" text="7" src="images/button/dd2.gif" hoverSrc="images/button/hh2.gif">

<img onClick="Play();" title="播放" text="4" src="images/button/dd3.gif" hoverSrc="images/button/hh3.gif">

<img onClick="Pause();" title="暂停" text=";" src="images/button/dd4.gif" hoverSrc="images/button/hh4.gif">

<img onClick="Stop();" title="停止" text="<" src="images/button/dd5.gif" hoverSrc="images/button/hh5.gif">

<img onClick="Forward();" title="快进" text="8" src="images/button/dd6.gif" hoverSrc="images/button/hh6.gif">

<img onClick="GoToEnd();" title="跳至最末帧" text=":" src="images/button/dd7.gif" hoverSrc="images/button/hh7.gif">

<img onClick="Replay();" title="重放" text="q" src="images/button/dd8.gif" hoverSrc="images/button/hh8.gif">

<img onClick="showMenu(menu);" title="打开 Flash 文件" text="5" src="images/button/dd9.gif" hoverSrc="images/button/hh9.gif">

<input type="file" id="moviefile" style="display:none" onpropertychange="loadMovie()"></span>

<div id="menu" onClick="this.style.display=''''''''none''''''''">

<a href="打开指定URL" onClick="OpenRemoteSwf();return false">打开指定URL</a>

<a href="选择本地文件" onClick="selectMovie();return false">选择本地文件</a>

<a href="选择本地文件" onClick="alert(''''''''Wren FLash Player 1.0 Preview\nCopyright (C) WRen.Cn'''''''');return false">关于Wren Flash Player</a>

</div></div> 运行播放器的驱动程序:

<script defer>

var movie=document.getElementById("movie");

loadSWF("http://down.wren.cn/flash/navigation_68.swf","600","400"); //loadSWF("flash地址","宽度","高度")

</script>

下面看看我写的驱动程序代码,保存为play.js:

var total;//定义flash影片总桢数

var frame_number;//定义flash影片当前桢数

//以下是滚动条图片拖动程序

var dragapproved=false;

var z,x,y

//移动函数

function move(){

if (event.button==1&&dragapproved){

y=temp1+event.clientX-x;

//以下是控制移动的范围

if(y<0)

y=0;

if(y>420)

y=420;

z.style.pixelLeft=y

movie.GotoFrame(y/420*total);//移动到某一位置,flash影片播放到某个位置

return false

}

}

//获得拖动前初始数据的函数

function drags(){

if (!document.all)

return

if (event.srcElement.className=="drag"){

dragapproved=true

z=event.srcElement

temp1=z.style.pixelLeft

x=event.clientX

document.onmousemove=move

}

}

//动态显示播放影片的当前桢/总桢数

function showcount(){

frame_number=movie.CurrentFrame();

frame_number++;

frameCount.innerText=frame_number+"/"+movie.TotalFrames;

element.style.pixelLeft=420*(frame_number/movie.TotalFrames);//滚动条图片随之到相应的位置

if(frame_number==movie.TotalFrames)

clearTimeout(tn_ID);

else

var tn_ID=setTimeout(''''''''showcount();'''''''',1000);

}

//使影片返回第一帧

function Rewind(){

if(movie.IsPlaying()){

Pause();

}

movie.Rewind();

element.style.pixelLeft=0;

frameCount.innerText="1/"+total;

}

//播放影片

function Play(){

movie.Play();

showcount();

}

//暂停播放

function Pause(){

movie.StopPlay();

}

//跳至最末帧

function GoToEnd(){

if(movie.IsPlaying())

Pause();

movie.GotoFrame(total);

element.style.pixelLeft=420;

frameCount.innerText=total+"/"+total;

}

//快退影片

function Back()

{

if(movie.IsPlaying())

Pause();

frame_number=frame_number-50;

movie.GotoFrame(frame_number);

Play();

}

//快进影片

function Forward()

{

if(movie.IsPlaying())

Pause();

frame_number=frame_number+50;

movie.GotoFrame(frame_number);

Play();

}

//重新播放影片

function Replay(){

if(movie.IsPlaying()){

Pause();

movie.Rewind();

Play();

}

else

{

movie.Rewind();

Play();

}

}

//停止播放影片返回到第一桢

function Stop(){

if(movie.IsPlaying()){

Pause();

movie.Rewind();

}

else

{

movie.Rewind();

}

}

//显示影片载入进度,完全载入后控制按钮可用

function jindu(){

var in_ID;

bar.style.width=Math.round(movie.PercentLoaded())+"%";

frameCount.innerText=Math.round(movie.PercentLoaded())+"%";

if(movie.PercentLoaded() == 100){

ctlButtons.document.all.tags(''''''''IMG'''''''')[0].disabled=false;

ctlButtons.document.all.tags(''''''''IMG'''''''')[1].disabled=false;

ctlButtons.document.all.tags(''''''''IMG'''''''')[2].disabled=false;

ctlButtons.document.all.tags(''''''''IMG'''''''')[3].disabled=false;

ctlButtons.document.all.tags(''''''''IMG'''''''')[4].disabled=false;

ctlButtons.document.all.tags(''''''''IMG'''''''')[5].disabled=false;

ctlButtons.document.all.tags(''''''''IMG'''''''')[6].disabled=false;

ctlButtons.document.all.tags(''''''''IMG'''''''')[7].disabled=false;

ctlButtons.document.all.tags(''''''''IMG'''''''')[8].disabled=false;

total=movie.TotalFrames;

frame_number++;

frameCount.innerText=frame_number+"/"+total;

bar.style.background="";

//bar.style.width="0%"

bar.innerHTML=''''''''<img src="images/button/posbar1.gif" style="cursor:hand;border:0;" id="element" class="drag" OnMouseOver="fnOnMouseOver()" OnMouseOut="fnOnMouseOut()">'''''''';

document.onmousedown=drags

document.onmouseup=new Function("dragapproved=false;Play()")

showcount();

clearTimeout(in_ID);

}

else

in_ID=setTimeout("jindu();",1000);

}

//开始载入flash影片,载入过程中,播放控制按钮不可用

function loadSWF(fsrc,fwidth,fheight){

movie.LoadMovie(0, fsrc);

movie.width=fwidth;

movie.height=fheight;

ctlButtons.document.all.tags(''''''''IMG'''''''')[0].disabled=true;

ctlButtons.document.all.tags(''''''''IMG'''''''')[1].disabled=true;

ctlButtons.document.all.tags(''''''''IMG'''

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有