飞龙博客

feilong.org

VS2005之aspnet插入播放flash视频答案

feilong.org 修订于2008-06-27 02:50:00 336 次浏览

用VS2005开发ASP.NET2.0中,如何插入和播放flash?飞龙用dreamweaver插flash文件,那是很容易的,但是交给程序员用用VS2005开发ASP.NET2.0,插入flash的代码和dreamweaver中一样的,可就是不能播放!

VS2005开发aspnet如何插入播放flash,飞龙(feilong.org)建议首先考虑下面的这个解决方法:
网络上有资料说,可以使用asp.net特有方式插入flash,就是在工具箱上点右键,添加控件,将 flash的dll文件(这个是什么,飞龙搞不明白?) 加进去,以后工具箱上就会多一个showave的控件,拖进页面就行。步骤是,在工具栏--右键自定义com组件--加入show... flash object ;在工具栏添加至form,右键属性,指明url。

如何播放FLASH文件?好像需要一个DLL吧。(飞龙想,flash的dll文件,大概就是这个了)安装Flash之后有一个 flash.ocx(这个很重要,到flash安装文件夹中找下!),在你的VS2005程序中引入,然后调用对应接口(飞龙不大明白)。

引入后类名为TShockwaveFlash。
其主要属性如下:
ReadyState:读一个flash文件时的状态,
其中包括0=Loading、1=Uninitialized、
2=Loaded、3=Interactive和4=Complete;
TotalFrames:总帧数,只有当ReadyState=4时才能访问该属性;
FrameNum:当前播放的帧;
Playing:播放或暂停一个flash;
Quality:指定当前渲染的质量,
包括0=Low、1=High、2=AutoLow、3=AutoHigh;
ScaleMode:缩放模式,0=ShowAll、1=NoBorder、2=ExactFit;
AlignMode:对齐模式,Left=+1、Right=+2、Top=+4、Bottom=+8;
BackgroundColor:背景色,-1为默认颜色;
Loop:是否循环;
Movie:指定播放的flash文件路径,可以为一个URL。

其主要方法如下:
Play():开始播放动画;
Stop();停止播放动画;
Back();播放前一帧动画;
Forward():播放后一帧动画;
Rewind():播放第一帧动画;
SetZoomRect(int left,int top,int right,int bottom):设置缩放的区域;
Zoom(int percent):按百分比缩放;
Pan(int x,int y,int mode):缩放播放面板,其中模式0为按像数、1为按窗口百分比。

其主要事件如下:
OnProgress(int percent):读取一个flash时触发;
OnReadyStateChange(int state):状态改变时触发。
states的值可以为
0=Loading、1=Uninitialized、2=Loaded、3=Interactive和4=Complete。

还有的说,其实VS2005开发时不能显示flash,但是发布以后会正常显示,可能是VS2005程序的一个bug,也可能不是VS2005 程序问题,可能是web服务器的问题。因此,在dreamweaver里弄好,再复制过去,不会错的。飞龙(feilong.org)这下有点晕了,不想架设VS2005服务器环境,也没有网络服务器哈哈。

下面是飞龙(feilong.org)收集整理的一些net插入flash的一些代码,飞龙建议你一个一个的尝试,找到那个可以成功的办法,因此飞龙不想深入学习.net技术哈抱歉靠你自己。

由于flash影片要和web页面在同一目录(飞龙提示:你最好也这样做),所以插入的相对路径是flvplayer.swf。你最好先用记事本或其他代码编辑软件(飞龙觉得,推荐用记事本和editplus或dreamweaver,别用vs2005哈哈),把代码中的"flvplayer.swf"全部替换成你的flash文件路径,还有width="220" height="170",换成你的播放器尺寸大小,然后在需要插入Flash的地方插入播放flash的代码。

方法1,常用的插flash代码,dreamweaver中生成的代码好像就是这个?
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com
/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0"
width="220" height="170">
<param name="movie" value="flvplayer.swf" />
<param name="quality" value="high" />
<embed src="flvplayer.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" width="220" height="170">
</embed>
</object>
</div>

方法2,基本和方法一相同,flash版本号不同,是6,0,29,0的。
<object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://download.macromedia.com
/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
width="220" height="170">
<param name="movie" value="flvplayer.swf">
<param name="quality" value="high">
<param name="scale" value="exactfit">
<embed src="flvplayer.swf"
width="220" height="170" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" scale="exactfit"></embed>
</object>

方法3,飞龙提示:挺简洁但不能设多少参数
<embed src="flvplayer.swf"
width="220" height="170"
type="application/x-shockwave-flash"
pluginspage="flvplayer.swf">
</embed>

方法4,飞龙提示:和上面的代码有点不同哦!
<object type="application/x-shockwave-flash"
data="flvplayer.swf" width="220" height="170" >
<param name="movie" value="flvplayer.swf" /></object>

方法5,可以设很多参数,不知道的可以保持默认。一个小问题,有时插入FLASH动画在编辑时会自动播放,但浏览页面时却不会自动播放。这种情况用户可以用"源代码"编辑方式,直接修改FLASH播放的一个参数:查找到"PARAM NAME="Play" VALUE="0">"这句代码,把值"0"改为"-1"。好了,代码如下:
<OBJECTcodeBase="http://download.macromedia.com
/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000">
<PARAM NAME="Movie1" VALUE="flvplayer.swf">
<PARAM NAME="Src" VALUE="flvplayer.swf">
<PARAM NAME="Play" VALUE="-1">
<PARAM NAME="Loop" VALUE="-1">
<PARAM NAME="WMode" VALUE="Transparent">
<PARAM NAME="_cx" VALUE="14000">
<PARAM NAME="_cy" VALUE="10500">
<PARAM NAME="FlashVars" VALUE="">
<PARAM NAME="Quality" VALUE="High">
<PARAM NAME="SAlign" VALUE="">
<PARAM NAME="Menu" VALUE="0">
<PARAM NAME="Base" VALUE="">
<PARAM NAME="AllowScriptAccess" VALUE="">
<PARAM NAME="Scale" VALUE="ShowAll">
<PARAM NAME="DeviceFont" VALUE="0">
<PARAM NAME="EmbedMovie" VALUE="0">
<PARAM NAME="BGColor" VALUE="">
<PARAM NAME="SWRemote" VALUE="">
<PARAM NAME="MovieData" VALUE="">
<PARAM NAME="SeamlessTabbing" VALUE="1">
<PARAM NAME="Profile" VALUE="0">
<PARAM NAME="ProfileAddress" VALUE="">
<PARAM NAME="ProfilePort" VALUE="0">
</OBJECT>

--------------------------------------------------

方法6,asp.net版flv播放器源代码。
这个似乎很流行,flv播放器其实也是一个flash文件,不过需要调用很多flv文件,一起起作用的。
Flv播放器一般是Flash+ActionScript编写,或Flash加Java编写的程序。

所谓 asp.net版 ,无非就是在.aspx页面中正常显示进行调用罢了。
Flv播放器有很多种,推荐使用:Vcastr1.0 FLV player。功能:可以读取xml设置播放列表;
可以直接以给出flv地址进行播放;自定义尺寸,自动适应;mm播放器风格;
循环播放;最大化播放;支持直接js嵌入;

演示页面: http://i.aspx1.com/upload/demo/flv/show.aspx ;
播放器下载:http://i.aspx1.com/upload/demo/flv/vcastr.swf 。
参考来源:http://i.aspx1.com/showtree.aspx?topicid=202&postid=587。

调用代码如下:----->
<embed
src=flvplayer.swf
vcastr_file=yourfile1.flv|yourfile2.flv
showMovieInfo=0
pluginspage=http://www.macromedia.com/go/getflashplayer
type="application/x-shockwave-flash" wmode="transparent"
quality="high" width="220" height="170">
</embed>

方法7,还是asp.net版 flv播放器源代码。听说这个办法还可以。
首先,调用播放页面时可以把播放文件的地址保存在Session中,如
Session["url"]
然后,播放页面的代码里定义一个取地址的函数
public string GetUrl() {return Session["url"].ToString();}
然后,修改<object>标签项
<param name="FlashVars" value="vcastr_file=<% =GetUrl() %>" /> ;
好啦,试试看能成功不?

方法8,飞龙(feilong.org)懒得贴了,直接参考:http://blog.blueshop.com.tw/uni2tw/archive/2006/10/13/42326.aspx

--------------------------------------------------

方法9,变通办法,在net中插入WMP试试看,即windows media player文件,哈哈。
ActiveX解码器控件可以放曲子,还能放Flash和其它视频文件,代码如下:
<object id="player" height="170" width="220"
classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
<param NAME="AutoStart" VALUE="-1">
<!--是否自动播放-->
<param NAME="Balance" VALUE="0">
<!--调整左右声道平衡,同上面旧播放器代码-->
<param name="enabled" value="-1">
<!--播放器是否可人为控制-->
<param NAME="EnableContextMenu" VALUE="-1">
<!--是否启用上下文菜单-->
<param NAME="url" value="*.wma">
<!--播放的文件地址-->
<param NAME="PlayCount" VALUE="1">
<!--播放次数控制,为整数-->
<param name="rate" value="1">
<!--播放速率控制,1为正常,允许小数,1.0-2.0-->
<param name="currentPosition" value="0">
<!--控件设置:当前位置-->
<param name="currentMarker" value="0">
<!--控件设置:当前标记-->
<param name="defaultFrame" value="">
<!--显示默认框架-->
<param name="invokeURLs" value="0">
<!--脚本命令设置:是否调用URL-->
<param name="baseURL" value="">
<!--脚本命令设置:被调用的URL-->
<param name="stretchToFit" value="0">
<!--是否按比例伸展-->
<param name="volume" value="50">
<!--默认声音大小0%-100%,50则为50%-->
<param name="mute" value="0">
<!--是否静音-->
<param name="uiMode" value="mini">
<!--显示模式:Full显示全部;mini简化;None不显示控制;invisible全部不显示-->
<param name="windowlessVideo" value="0">
<!--如果是0可以允许全屏,否则只能在窗口中查看-->
<param name="fullScreen" value="0">
<!--开始播放是否自动全屏-->
<param name="enableErrorDialogs" value="-1">
<!--是否启用错误提示报告-->
<param name="SAMIStyle" value>
<!--SAMI样式-->
<param name="SAMILang" value>
<!--SAMI语言-->
<param name="SAMIFilename" value>
<!--字幕ID-->
</object>

更新网址:https://feilong.org/asp-net-insert-flash-swf-flv
最初发布:20080627 02:50:00 feilong.org 于广州

加入收藏夹,查看更方便。

所在分类: 网站开发

新作:

旧文:

AI音乐 blog money bui 教程 echarts 教程 eclipse 教程 html css 教程 IT趋势 js 教程 json 教程 mysql 教程 nodejs npm 教程 onblog SQLite 教程 tutorials vscode 教程 wap网站 winpe启动盘 wordpress 主机推荐 人工智能 前端开发 博客 名企名网 域名注册 常用软件 建站程序 操作系统 教程 数码 无线上网 日记 电子商务 电脑笔记本 网站 网站优化 网站开发 网站推广 网站策划 网络 虚拟现实 默认