AppleSeeker's Tech Blog
Welcome to AppleSeeker's space
最近在公司觉得无聊,同事之间交流片子就是通过P2P的软件相互传递,何不做一个在线播放网站,这样方便大家看片子,本来只是想简单做做,但是呢又觉得太简单不好,要做么至少做的专业点。
 
到模版网站下了个模版,修改其HTML后基本框架就出来了。推荐一个比较好的模版网站:http://www.68design.net/cool/
由于采用ASP.NET2.0所以网页上的元素都要符合DHTML标准,原先的html元素可能在转换的时候需要做很多修改。
一般网上提供的静态页面模版有css和js代码,所以转换后可以采用主题和母板页,这是asp.net2.0的二大特性。
每个页面都可以从母板页继承下来,再制定好主题后,页面上的控件就会按照预先定义好的主题进行显示。
 
但是在使用母板页时要特别注意的一点就是网页链接,从母板页继承也就导致了一些母板页上的链接会继承过来,这样如果与母板页不在同一级别的页面很容易造成页面链接不正确,asp.net提供了"~"这一特性,一般链接尽量使用超链接控件,只需要在目录前加上该符号asp.net就会自动去解析路径,非常方便。
 
接着就是播放插件了,一般有2种选择,media player和real one。media player只能播放asf,wma,wmv文件,而real one只能播放rm,rmvb文件,这样要看文件的格式来选择了。在google上找了好长时间,别人提供的代码出处几乎相同,但是呢,并没有特别解释的很清楚,所以郁闷了我2天,不断尝试去做的更好一点。下面提供2种解析代码:
media player:
<object classid=clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95 
      
id="MediaPlayer" type="application/x-oleobject"
      standby
="Loading Microsoft Windows Media Player components" 
      align
="MIDDLE" width="400" style="height: 400px">
<param name="PlayCount" value="1">
<param name="AutoStart" value="1"><!--控制播放方式: x=1,打开网页自动播放; x=0,按播放键播放。-->
<param name="ClickToPlay" value="1"><!--控制播放开关: x=1,可鼠标点击控制播放或暂停状态; x=0,禁用此功能。-->
<param name="DisplaySize" value="0">
<param name="EnableFullScreen Controls" value="0"><!--控制切换全屏: x=1,允许切换为全屏; x=0,禁用此功能。-->
<param name="ShowAudio Controls" value="1"><!--控制音量: x=1,允许调节音量; x=0,禁止音量调节。-->
<param name="EnableContext Menu" value="1"><!--控制快捷菜单: x=1,允许使用右键菜单; x=0,禁用右键菜单。--> 
<param name="ShowDisplay" value="0"><!--控制版权信息: x=1,显示电影及作者信息;x=0,不显示相关信息-->
<param name="AllowChangeDisplaySize" value="0"><!--控制播放画面: x=0,原始大小; x=1,一半大小; x=2,2倍大小。-->                          
</object>
上述代码只是简洁代码,是不需要客户段加任何控件的,该media player只是6.4版本,不是6.4以上版本,6.4以上版本则需要在客户段安装更好版本的media player才可以。在页面中直接加播放文件只需要多加一个参数
<param name="Filename" value="播放文件">
media player高版本的设置参数有些和上述的参数不太一致,可以去网上搜索下。
 
real one:
             <object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" name="player" width="400" height="360" id="player">
                  
<param name="_ExtentX" value="10001">
                  
<param name="_ExtentY" value="6879">
                  
<param name="AUTOSTART" value="true">
                  
<param name="SHUFFLE" value="0">
                  
<param name="PREFETCH" value="0">
                  
<param name="NOLABELS" value="-1">
                  
<param name="CONTROLS" value="Imagewindow">
                  
<param name="CONSOLE" value="clip1">
                  
<param name="LOOP" value="false">
                  
<param name="NUMLOOP" value="0">
                  
<param name="CENTER" value="0">
                  
<param name="MAINTAINASPECT" value="0">
                  
<param name="BACKGROUNDCOLOR" value="#000000">
            
</object> 
            
<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" width="400" height="40" id="RP2">
                  
<param name="_ExtentX" value="10001">
                  
<param name="_ExtentY" value="1270">
                  
<param name="AUTOSTART" value="true">
                  
<param name="SHUFFLE" value="0">
                  
<param name="PREFETCH" value="0">
                  
<param name="NOLABELS" value="-1">
                  
<param name="CONTROLS" value="ControlPanel,StatusBar">
                  
<param name="CONSOLE" value="clip1">
                  
<param name="LOOP" value="false">
                  
<param name="NUMLOOP" value="0">
                  
<param name="CENTER" value="0">
                  
<param name="MAINTAINASPECT" value="0">
                  
<param name="BACKGROUNDCOLOR" value="#000000">
            
</object>
real one需要加2个,1个是显示面板,1个是控制板板,如果在页面上制定文件的话则需要在2个中都加上
<param name="src" value="播放文件">
 
我是在button事件中通过js去处理的所以不特别指定文件形式,通过button事件从dropDownList控件中取得选中的文件进行播放,在js中要特别注意一点:
media player 6.4以下版本则是通过对Filename赋值即可,而6.4以上则是需要对Url属性赋值
real one是需要用serSource(文件地址)来制定播放文件。
 
最后是发布网站,2005中通常采用文件方式建立web site(好坏就不说了),在发布时可以直接发布到IIS下,或者其他路径,如果其他路径则在IIS管理控制台中通过虚拟路径方式制定到该路径就可以了,发布后,在进城中aspnet_wp.exe进城会占用很多内存,并由它来与刚才发布的网站中的数据库去做关联,所以如果需要覆盖原先发布的数据,最好先停止该进程后再做发布。2005启动时,只要打开web site工程,该进程是关不掉的(前面所说的关闭进程其实只是将连接到发布网站数据库的连接线程给结束掉)。
posted on 2006-09-29 15:51  AppleSeeker(冯峰)  阅读(942)  评论(1编辑  收藏  举报