Window Media Player 播放器
来源: 阅读:1048 次 日期:2014-08-11 14:29:02
温馨提示: 小编为您整理了“Window Media Player 播放器”,方便广大网友查阅!

比较吃力的地方是drop到播放列表,查MSDN查了n久,还有Window Media Player 6.x插件的play有些奇怪,所以我的代码也有些奇怪........

拜托各位多测测,有Bug您说话,看我做的也挺不容易的,觉得好的您也多捧捧场。

<html>

<head>

<title>My HTML Player</title>

<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>

<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.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;

            MediaPlayer1.play();

            setTimeout('MediaPlayer1.play();MediaPlayer1.attachEvent("PlayStateChange",checkPlayStatus);',1000);

        }

    }catch(e){}

}

</script>

<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="0">

                <!--是否自动播放-->

                <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">

                <param name="CurrentPosition" value="0">

                <!--当前播放进度 -1 表示不变,0表示开头 单位是秒,比如10表示从第10秒处开始播放,值必须是-1.0或大于等于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">

                <!--一条框,在下面,有往下箭头-->

                <param name="ShowPositionControls" value="-1">

                <!--是否显示往前往后及列表,如果显示一般也都是灰色不可控制-->

                <param name="ShowStatusBar" value="-1">

                <!--当前播放信息,显示是否正在播放,及总播放时间和当前播放到的时间-->

                <param name="ShowTracker" value="-1">

                <!--是否显示当前播放跟踪条,即当前的播放进度条-->

                <param name="TransparentAtStart" value="-1">

                <param name="VideoBorderWidth" value="0">

                <!--显示部的宽部,如果小于视频宽,则最小为视频宽,或者加大到指定值,并自动加大高度.此改变只改变四周的黑框大小,不改变视频大小-->

                <param name="VideoBorderColor" value="0">

                <!--显示黑色框的颜色, 为RGB值,比如ffff00为黄色-->

                <param name="VideoBorder3D" value="0">

                <param name="Volume" value="0">

                <!--音量大小,负值表示是当前音量的减值,值自动会取绝对值,最大为0,最小为-9640,最大0-->

                <param name="WindowlessVideo" value="0">

                <!--如果是0可以允许全屏,否则只能在窗口中查看-->

            </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="http://jay.netandtv.com/jaymp3/yequ.mp3" onclick="addMusic();">夜曲 - 周杰伦</a>

 

<a href="http://mobile.bokee.com/biji.mp3" onclick="addMusic();">笔记 - 周笔畅</a>

 

<a href="http://files.17173.com/ddr/music/hfmusic/Y.mp3" onclick="addMusic();">不得不爱 - 潘玮柏</a>

 

<a href="http://web.163.sh.cn/~kkyhm/music/3.wma" onclick="addMusic();">发如雪 - 周杰伦</a>

 

<hr>

Tips: 把歌曲拖入播放列表

</div>

<div id=info></div>

<body>

</html>

更多信息请查看IT技术专栏

更多信息请查看网络编程
手机网站地址:Window Media Player 播放器
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map