上一阵子倒腾web播放器时找了好多有关Object标签的实例,找到了一个比较实用的(具体链接找不到了),传到这里来以备不时之需。
另外,这个例子界面比较全面,可以试着修改Object标签的各个属性,查看Object的播放界面的变化来加深对各个标签的理解,我就是这么做的,后面的好多标签属性都是个人按照个人看到的实际情况做的注释。
1、HTML:
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Window Media Player 播放器</title> <body onload="init();"> <table id=table01> <tr> <td> <object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="286" height="225" STANDBY="Loading Windows Media Player components..." TYPE="application/x-oleobject"> <param name="AudioStream" value="-1"> <param name="AutoSize" value="-1"> <!--是否自动调整播放大小--> <param name="AutoStart" value="-1"> <!--是否自动播放--> <param name="AnimationAtStart" value="-1"> <param name="AllowScan" value="-1"> <param name="AllowChangeDisplaySize" value="-1"> <param name="AutoRewind" value="0"> <param name="Balance" value="0"> <!--左右声道平衡,最左-9640,最右9640--> <param name="BaseURL" value> <param name="BufferingTime" value="15"> <!--缓冲时间--> <param name="CaptioningID" value> <param name="ClickToPlay" value="-1"> <param name="CursorType" value="0"> <!--当前播放进度 -1 表示不变,0表示开头 单位是秒,比如10表示从第10秒处开始播放,值必须是-1.0或大于等于0--> <param name="CurrentPosition" value="0"> <param name="CurrentMarker" value="0"> <param name="DefaultFrame" value> <param name="DisplayBackColor" value="0"> <param name="DisplayForeColor" value="16777215"> <param name="DisplayMode" value="0"> <param name="DisplaySize" value="0"> <!--视频1-50%, 0-100%, 2-200%,3-全屏 其它的值作0处理,小数则采用四舍五入然后按前的处理--> <param name="Enabled" value="-1"> <param name="EnableContextMenu" value="-1"> <!--是否用右键弹出菜单控制--> <param name="EnablePositionControls" value="-1"> <param name="EnableFullScreenControls" value="-1"> <param name="EnableTracker" value="-1"> <!--是否允许拉动播放进度条到任意地方播放--> <param name="Filename" value="" valuetype="ref"> <param name="InvokeURLs" value="-1"> <param name="Language" value="-1"> <param name="Mute" value="0"> <!--是否静音--> <param name="PlayCount" value="10"> <!--重复播放次数,0为始终重复--> <param name="PreviewMode" value="-1"> <param name="Rate" value="1"> <!--播放速度1.0-2.0倍的速度播放--> <param name="SAMILang" value> <param name="SAMIStyle" value> <param name="SAMIFileName" value> <!--选择同时播放(伴音)的歌曲--> <param name="SelectionStart" value="-1"> <param name="SelectionEnd" value="-1"> <param name="SendOpenStateChangeEvents" value="-1"> <param name="SendWarningEvents" value="-1"> <param name="SendErrorEvents" value="-1"> <param name="SendKeyboardEvents" value="0"> <param name="SendMouseClickEvents" value="0"> <param name="SendMouseMoveEvents" value="0"> <param name="SendPlayStateChangeEvents" value="-1"> <!--是否显示字幕,为一块黑色,下面会有一大块黑色,一般不显示--> <param name="ShowCaptioning" value="0"> <!--是否显示控制,比如播放,停止,暂停,进度调整音量调节等--> <param name="ShowControls" value="-1"> <!--是否显示音量控制--> <param name="ShowAudioControls" value="-1"> <!--显示节目信息,比如版权等--> <param name="ShowDisplay" value="0"> <!--一条框,在下面,有往下箭头--> <param name="ShowGotoBar" value="0"> <!--是否显示往前往后及列表,如果显示一般也都是灰色不可控制,-1表示显示,其他值表示不显示--> <param name="ShowPositionControls" value="0"> <!--当前播放信息,显示是否正在播放,及总播放时间和当前播放到的时间,-1表示显示,其他值表示不显示--> <param name="ShowStatusBar" value="-1"> <!--是否显示当前播放跟踪条,即当前的播放进度条,-1表示显示进度条,其他值表示不显示--> <param name="ShowTracker" value="-1"> <param name="TransparentAtStart" value="0"> <!--显示部的宽部,如果小于视频宽,则最小为视频宽,或者加大到指定值,并自动加大高度.此改变只改变四周的黑框大小,不改变视频大小--> <param name="VideoBorderWidth" value="0"> <!--显示黑色框的颜色, 为RGB值,比如ffff00为黄色--> <param name="VideoBorderColor" value="0"> <param name="VideoBorder3D" value="0"> <!--音量大小,负值表示是当前音量的减值,值自动会取绝对值,最大为0,最小为-9640--> <param name="Volume" value="0"> <!--是否允许全屏,0表示可以全屏,其他值只能在窗口中查看--> <param name="WindowlessVideo" value="1"> </object> </td> <td> <div id=playListTitle>Play List:</div> <select id=playList size=2 ondragover="playList_dragOver();" ondragenter="playList_dragEnter();" ondrop="playList_drop();" onkeydown="playList_keyDown();" ondblclick="playList_dblClick();"> </select> </td> </tr> </table> <div id=musicList ondragstart="musicList_dragStart();"> <div id=musicListTitle>All Music</div> <a href="a.VOB" onclick="addMusic();">测试视频</a><br> <hr> Tips: 把歌曲拖入播放列表 </div> <div id=info></div> <body> </html>
2、CSS:
<style> body { overflow:auto; font-size:12px; cursor:default; } #table01 { font-size:12px; background-Color:black; color:white; text-align:center; } #playListTitle { background-Color:#001122; color:white; font-size:12px; font-weight:bold; width:100%; height:16px; padding:2px; } #playList { width:150px; height:225px; margin:0px; font-size:12px; background-Color:black; color:white; } #musicList { width:200px; border:buttonface 4px groove; height:80px; position:absolute; right:5px; top:5px; } #musicListTitle { font-size:13px; width:100%; height:20px; background-Color:#C5FFC5; padding:3px; font-weight:bold; } #musicList a { text-decoration:none; width:100%; height:20px; line-height:20px; font-szie:20px; line-height:20px; padding-top:5px; padding-left:10px; } #musicList a:hover { background-Color:#E5FFE5; } </style>
3、JS:
<script> function playList_dragOver(){ event.returnValue=false; } function playList_dragEnter(){ event.returnValue=false; event.dataTransfer.dropEffect='link'; } function addMusic(){ if(event.srcElement.tagName=='A'){ strTxt=event.srcElement.innerText; strURL=event.srcElement.href; playList.innerHTML=""; playList.options[0]=new Option(strTxt,strURL); playList.options[0].selected=true; } event.returnValue=false; playList_dblClick(); return(false); } function playList_drop(){ strTxt=unescape(event.dataTransfer.getData('Text').split(":")[0]); strURL=unescape(event.dataTransfer.getData('Text').split(":")[1]); playList.options[playList.options.length]=new Option(strTxt,strURL); } function playList_keyDown(){ if(event.keyCode==46){ try{ playList.options[playList.options.selectedIndex].outerHTML=""; }catch(e){} return(false); } if(event.keyCode==13){ playList_dblClick(); return(false); } } function playList_dblClick(){ MediaPlayer1.detachEvent("PlayStateChange",checkPlayStatus); MediaPlayer1.fileName=playList.value; MediaPlayer1.currentPosition=1*60; MediaPlayer1.play(); setTimeout('MediaPlayer1.play();MediaPlayer1.attachEvent("PlayStateChange",checkPlayStatus);',1000); } function musicList_dragStart(){ if(event.srcElement.tagName=='A'){ event.dataTransfer.setData('Text',escape(event.srcElement.innerText)+":"+escape(event.srcElement.href)); }else{ return(false); } } function init(){ MediaPlayer1.AutoRewind=false; MediaPlayer1.AutoStart=true; MediaPlayer1.SendPlayStateChangeEvents=true; MediaPlayer1.attachEvent("PlayStateChange",checkPlayStatus); } function checkPlayStatus(oldState,newState){ try{ if(MediaPlayer1.PlayState==0){ MediaPlayer1.detachEvent("PlayStateChange",checkPlayStatus); MediaPlayer1.stop(); if(playList.options.selectedIndex<playList.options.length-1){ playList.options[playList.options.selectedIndex+1].selected=true; }else{ playList.options[0].selected=true; } MediaPlayer1.fileName=playList.value; //alert(MediaPlayer1.fileName); MediaPlayer1.CurrentPosition="1:20"; MediaPlayer1.play(); setTimeout('MediaPlayer1.play();MediaPlayer1.attachEvent("PlayStateChange",checkPlayStatus);',1000); } }catch(e){} } </script>
相关推荐
### Object标签详解与属性解析 在HTML中,`<object>`标签被用于嵌入外部内容,如插件、媒体文件或其他HTML文档等。它提供了一种灵活的方式,使得网页能够集成来自不同来源的多媒体资源。本文将深入探讨`<object>`...
此外,Spring还支持使用`<bean>`标签自定义bean的属性和依赖关系,使得XML配置更加灵活。 总的来说,Object-XML转换是软件开发中的关键技术,尤其在分布式系统和微服务架构中,它使得数据能够在不同组件间无缝传递...
此外,MapObject还支持查询、分析和数据显示控制,如符号化、标签、图例等。 总结一下,C#与MapObject的结合使得开发人员能够在.NET环境中创建功能丰富的GIS应用程序。通过理解MapObject的接口和工作原理,我们可以...
Object, prevValue:Object, axis:IAxis):String`和`categoryAxisLabelFun(item:Object, prevValue:Object, axis:CategoryAxis, categoryItem:Object):String`,这些函数用于格式化图表中的数据标签。 ### 总结 此...
4. **ID(Object IDs)**:用于区分同一类别内的不同实例,特别是在一个图像中有多个相同类别物体的情况下。 在处理“实例分割COCO标注数据集.zip”时,你需要解压文件并访问其中的内容,可能包括: 1. 图像文件...
本实例将深入探讨如何在C#中有效地使用窗体标签页控件。 首先,你需要了解`TabControl`控件的基本属性、方法和事件。在Windows Forms应用中,你可以通过以下步骤添加窗体标签页控件: 1. 打开Visual Studio,创建...
4. **UIButton, UILabel, UIImageView**:常见UI控件,按钮、标签和图像视图。 5. **手势识别(GestureRecognizer)**:处理用户的触摸事件。 五、Objective-C的现代特性 随着Swift的出现,Objective-C也引入了...
描述"基于Java的实例源码-面向对象的脚本语言 ObjectScript.zip"进一步确认了这个资源是关于Java实现的ObjectScript的源代码实例,适合于那些想要深入理解如何在Java平台上构建面向对象脚本语言的开发者。...
本实例将深入探讨Struts2标签的使用,帮助你更好地理解和应用这些功能强大的标签。 首先,Struts2标签的引入是为了替换传统的JSP脚本元素,如Java表达式`${}`和脚本let块,以减少业务逻辑和视图之间的耦合。这些...
本实例将深入讲解如何实现一个基于JSP的自定义分页标签,并涉及到Java反射机制的应用。 首先,自定义标签的实现通常分为两部分:标签库描述文件(TLD,Tag Library Descriptor)和标签处理类(Tag Handler)。TLD是...
首先,JSP自定义标签的工作原理是基于TLD(Tag Library Descriptor)文件,它定义了自定义标签的元数据,如标签名称、属性、返回类型等。在编写自定义标签时,我们需要创建一个Java类来处理标签逻辑,这个类通常会...
Struts标签是Apache Struts框架中的重要组成部分,它提供了一种声明式编程的方式,使得开发者在JSP...在实际项目开发中,常常结合OGNL(Object-Graph Navigation Language)表达式,进一步增强标签的功能性和灵活性。
标签中的"flex air"提示我们这个实例可能还与Adobe Integrated Runtime(AIR)有关。AIR允许Flex应用程序运行在桌面环境,这意味着实例可能展示了如何在桌面环境中实现拖放功能,可能包括与桌面文件系统的交互。 在...
在本实例中,"C#使用窗体标签页控件实例csharptabs"演示了如何在C#应用程序中实现多标签切换的效果,类似于网页浏览器的标签页功能。这个功能可以极大地提高用户体验,因为它减少了窗口的混乱,让用户能够更轻松地在...
在MATLAB GUI中,标签组件(Label)是一种常用且重要的元素,主要用于标识和说明GUI中的不同区域和功能。本文将深入探讨MATLAB GUI中的标签组件,包括它的创建方法、属性及其应用。 首先,创建标签组件可以通过...
本文将深入探讨XML与JavaBean之间的转换、XML标签的大小写规则、XML特殊符号的处理以及CDATA的生成。 1. XML转JavaBean: 在Java编程中,XML数据经常需要转换为Java对象以便于操作。这一过程通常通过XML解析器来...
4. **微控制器编程实践**:这部分内容可能会涵盖具体的编程实例,展示如何在不同的微控制器平台上实现高效的实时应用。 5. **高级主题探讨**:除此之外,本书还可能涉及一些更高级的主题,例如低功耗设计、多核微...
本教程将深入讲解Struts2中的一个重要概念——`struct`及其升级版`struct2.0`,同时会涉及到OGNL(Object-Graph Navigation Language)以及Struts2中的标签库。 首先,`struct`是Struts2框架的基础组成部分,它是...
标签"dotya"可能指的是一个开发者或开发团队,他们可能对SuperObject进行了增强或者维护,提供了一些额外的工具或支持。这样的社区贡献对于开源项目来说至关重要,它们往往带来了更多的功能、优化和兼容性更新。 ...
本文将通过实例讲解如何在Delphi中进行时间计算,并结合鼠标控制的相关知识,帮助你更好地理解和应用。 首先,我们来看时间计算的基本概念。在Delphi中,可以使用TDateTime类型的变量来表示日期和时间,它是一个双...