上一阵子倒腾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 οnlοad="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 οndragοver="playList_dragOver();" οndragenter="playList_dragEnter();"
οndrοp="playList_drop();" οnkeydοwn="playList_keyDown();" οndblclick="playList_dblClick();">
</select>
</td>
</tr>
</table>
<div id=musicList οndragstart="musicList_dragStart();">
<div id=musicListTitle>All Music</div>
<a href="a.VOB" οnclick="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>