首页 > 代码库 > 利用<object>和<embed>实现视频播放

利用<object>和<embed>实现视频播放

直接使用<object>或<embed>都可以实现视频播放,那么两者的区别是什么?

1、是为了兼容不同浏览器,IE只支持对Object的解析;火狐,谷歌,Safari只支持对Embed的解析。
2、object标签用clsid表示控件的唯一id,而embed标签用type表示插件的唯一名称。比如flash插件type为:application/x-shockwave-flash,mp3播放插件type为audio/mpeg。
3、为了兼容多个浏览器,可以通过ie浏览器动态加载Object标签,非ie浏览器动态加载embed标签;或者在object标签里面嵌入embed标签

 

使用 object 和 embed 标签来嵌入,细心的会发现,object 的很多参数和 embed 里面的很多属性是重复的,为什么这样做?为了浏览器兼容性,有的浏览器支持 object,有的支持 embed,这也是为什么要修改 Flash 的参数时两个地方都要改的原因。这种方法是 Macromedia 一直以来的官方方法,最大限度的保证了 Flash 的功能,没有兼容性问题。
现阶段用 JS 嵌入 Flash 是最完美的方法,有人写了很完善的嵌入脚本可以方面地下载使用(推荐 SWFObject),SWFObject.js下载地址https://github.com/swfobject/swfobject

objec参数说明
param name标签是在这个播放插件中嵌入的一些功能和播放参数,比如(你可以抄下来): 
<param name="playcount" value="http://www.mamicode.com/1"><!--控制重复次数: “x”为几重复播放几次; x=0,无限循环。--> 
<param name="autostart" value="http://www.mamicode.com/0"><!--控制播放方式: x=1,打开网页自动播放; x=0,按播放键播放。--> 
<param name="clicktoplay" value="http://www.mamicode.com/1"><!--控制播放开关: x=1,可鼠标点击控制播放或暂停状态; x=0,禁用此功能。--> 
<param name="displaysize" value="http://www.mamicode.com/0"><!--控制播放画面: x=0,原始大小; x=1,一半大小; x=2,2倍大小。--> 
<param name="enablefullscreen controls" value="http://www.mamicode.com/1"><!--控制切换全屏: x=1,允许切换为全屏; x=0,禁用此功能。--> 
<param name="showaudio controls" value="http://www.mamicode.com/1"><!--控制音量: x=1,允许调节音量; x=0,禁止音量调节。--> 
<param name="enablecontext menu" value="http://www.mamicode.com/1"><!--控制快捷菜单: x=1,允许使用右键菜单; x=0,禁用右键菜单。--> 
<param name="showdisplay" value="http://www.mamicode.com/1"><!--控制版权信息: x=1,显示电影及作者信息;x=0,不显示相关信息--> 
<param NAME="AutoStart" VALUE="http://www.mamicode.com/-1"><!--是否自动播放--> 
<param NAME="Balance" VALUE="http://www.mamicode.com/0"><!--调整左右声道平衡,同上面旧播放器代码--> 
<param name="enabled" value="http://www.mamicode.com/-1"><!--播放器是否可人为控制--> 
<param NAME="EnableContextMenu" VALUE="http://www.mamicode.com/-1"><!--是否启用上下文菜单--> 
<param NAME="url" VALUE="http://1.wma"> <!--播放的文件地址--><param NAME="PlayCount" VALUE="http://www.mamicode.com/1"><!--播放次数控制,为整数--> 
<param name="rate" value="http://www.mamicode.com/1"><!--播放速率控制,1为正常,允许小数,1.0-2.0--> 
<param name="currentPosition" value="http://www.mamicode.com/0"><!--控件设置:当前位置--> 
<param name="currentMarker" value="http://www.mamicode.com/0"><!--控件设置:当前标记--> 
<param name="defaultFrame" value=""><!--显示默认框架--> 
<param name="invokeURLs" value="http://www.mamicode.com/0"><!--脚本命令设置:是否调用URL--> 
<param name="baseURL" value=""><!--脚本命令设置:被调用的URL--> 
<param name="stretchToFit" value="http://www.mamicode.com/0"><!--是否按比例伸展--> 
<param name="volume" value="http://www.mamicode.com/50"><!--默认声音大小0%-100%,50则为50%--> 
<param name="mute" value="http://www.mamicode.com/0"><!--是否静音-- 
<param name="uiMode" value="http://www.mamicode.com/mini"><!--播放器显示模式:Full显示全部;mini最简化;None不显示播放控制,只显示视频窗口;invisible全部不显示--><param name="windowlessVideo" value="http://www.mamicode.com/0"><!--如果是0可以允许全屏,否则只能在窗口中查看--> 
<param name="fullScreen" value="http://www.mamicode.com/0"><!--开始播放是否自动全屏--> 
<param name="enableErrorDialogs" value="http://www.mamicode.com/-1"><!--是否启用错误提示报告--> 
<param name="SAMIStyle" value><!--SAMI样式--> 
<param name="SAMIFilename" value><!--字幕ID--> 

 

实例代码

<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="700" height="400"> <param name="movie" value="http://player.video.qiyi.com/da0dd3d0918603a517a270b9ffe4b2d9/0/0/w_19rtosavsh.swf-albumId=8231726109-tvId=8231726109-isPurchase=0-cnId=24" /> <param name="quality" value="http://www.mamicode.com/high" /> <param name="allowFullScreen" value="http://www.mamicode.com/true" /> <param name="FlashVars" value="http://www.mamicode.com/vcastr_file=12.flv&LogoText=description&BufferTime=3&IsAutoPlay=1"> <embed src="http://player.video.qiyi.com/da0dd3d0918603a517a270b9ffe4b2d9/0/0/w_19rtosavsh.swf-albumId=8231726109-tvId=8231726109-isPurchase=0-cnId=24" allowfullscreen="true" flashvars="vcastr_file=12.flv&IsAutoPlay=1&LogoUrl=images/logo.jpg" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="700" height="400"></embed> </object>

  

 效果如图

技术分享

 

利用<object>和<embed>实现视频播放