由于服务器的问题,还是用了微软的mediaPlayer播放器,东抄西抄的不幸搞出来了。主要就是进度条和音量滑块的效果了,找了俩控件,别的都easy。
<script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="js/rating.min.js"></script> <script type="text/javascript"> var playid = "CibnPlayer"; var status = "status"; var curId, arrPL, mode; var playMode = 1; arrPL = new Array(); //播放器列表 cur = 0; curId = 0; function songObj(Id, name) { this.Id = Id this.name = name } //播放and暂停 function ReplacePlayButtonImage() { try { var state = document.getElementById(playid).playState; if (state == 3) { document.getElementById("playImg").style.display = "block"; //显示播放 document.getElementById("pauseImg").style.display = "none"; //隐藏暂停 document.getElementById(playid).controls.pause(); } else { document.getElementById("playImg").style.display = "none"; //隐藏播放 document.getElementById("pauseImg").style.display = "block"; //显示暂停 document.getElementById(playid).controls.play(); } } catch (e) { HandleError(e); } } //上一曲 function prePlay() { if (playMode == 2) { curId--; if (curId < 0) { curId = arrPL.length - 1; } } else if (playMode == 3) { curId = parseInt(Math.random() * arrPL.length); } PlayIt(curId); } //下一曲 function nxtPlay() { if (playMode == 2) { curId++; if (curId > (arrPL.length - 1)) { curId = 0; } } else if (playMode == 3) { curId = parseInt(Math.random() * arrPL.length); } PlayIt(curId); } //声音控制 $(document).ready(function() { $('#sound-hk').slidy({ maxval: 11, interval: 1, defaultValue: 4, finishedCallback: function(value) { if (document.getElementById("CibnPlayer")) document.getElementById("CibnPlayer").Settings.volume = (value - 1) * 10; document.getElementById("dismute").style.display = "none"; document.getElementById("mute").style.display = ""; }, moveCallback: function(value) { if (document.getElementById("CibnPlayer")) document.getElementById("CibnPlayer").Settings.volume = (value - 1) * 10; document.getElementById("dismute").style.display = "none"; document.getElementById("mute").style.display = ""; } }); }) //声音+ function doVolRise() { try { if (document.getElementById("CibnPlayer").Settings.volume <= 90) { document.getElementById("CibnPlayer").Settings.volume = document.getElementById("CibnPlayer").Settings.volume + 10; } else { document.getElementById("CibnPlayer").Settings.volume = 100; } } catch (e) { } } //-声音 function doVolDel() { try { if (document.getElementById("CibnPlayer").Settings.mute) document.getElementById("CibnPlayer").Settings.mute = 'false'; if (document.getElementById("CibnPlayer").Settings.volume >= 10) { document.getElementById("CibnPlayer").Settings.volume = document.getElementById("CibnPlayer").Settings.volume - 10; } else { document.getElementById("CibnPlayer").Settings.volume = 0; } } catch (e) { } } //静音 function doMute() { try { document.getElementById("CibnPlayer").Settings.mute = !document.getElementById("CibnPlayer").Settings.mute; document.getElementById("CibnPlayer").Settings.volume = 0; document.getElementById("dismute").style.display = ""; document.getElementById("mute").style.display = "none"; } catch (e) { } } //恢复声音 function NodoMute() { document.getElementById("CibnPlayer").Settings.mute = document.getElementById("CibnPlayer").Settings.mute; document.getElementById("CibnPlayer").Settings.volume = 40; document.getElementById("dismute").style.display = "none"; document.getElementById("mute").style.display = ""; } //进度控制 function GetPosition() { try { oSlider.player = document.getElementById("CibnPlayer").controls.currentPosition; if (oSlider.timer) { window.clearTimeout(oSlider.timer); } oSlider.timer = setTimeout("GetPosition()", 1000); } catch (e) { HandleError(e); } } //播放开始 function PlayIt(cid) { if (curId < 0 || curId > arrPL.length - 1) { curId = 0; document.getElementById("pos").innerText = " 00:00/00:00 "; return false; } //var url = "http://10.1.1.70:8002/music/" + arrPL[cid]; var url = arrPL[cid]; curId = cid; if (url == "None") { nxtPlay(); return false; } document.getElementById(playid).URL = url; //var currentName="a_songName" + cid; //alert(currentName); document.getElementById("soungName").innerHTML = document.getElementById("a_songName" + cid).innerHTML; $('td.listTd').each(function() { //alert(this.background); this.background = "images/bk-h30.jpg"; }); var tdCurrent = document.getElementById("row" + cid).childNodes; for (var l = 0; l < tdCurrent.length; l++) { tdCurrent[l].background = "images/blue.jpg"; } document.getElementById("playImg").style.display = "none"; //显示暂停 document.getElementById("pauseImg").style.display = "block"; //隐藏播放 //GetPosition(); showTimer() //setInterval('showTimer()', 1000); } //播放停止 function stopIt() { document.getElementById("playImg").style.display = "block"; //显示播放 document.getElementById("pauseImg").style.display = "none"; //隐藏暂停 document.getElementById(playid).controls.stop(); } var clearSate = 1; function showTimer() { var cp = document.getElementById(playid).controls.currentPosition var cps = document.getElementById(playid).controls.currentPositionString var dur = document.getElementById(playid).currentMedia.duration; var durs = document.getElementById(playid).currentMedia.durationString; var s = document.getElementById(playid).playState; var o = document.getElementById(playid).openState; if (s == 2 || s == 3) { document.getElementById("pos").innerText = " " + cps + "/" + durs + " "; } else document.getElementById("pos").innerText = " 00:00/" + durs + " "; if (s == 1) { if (playMode == 1) PlayIt(curId); else if (playMode == 2) nxtPlay(); else if (playMode == 3) { curId = parseInt(Math.random() * arrPL.length); PlayIt(curId); } } if (s == 10 && arrPL.length > 0) nxtPlay(); if (cps >= "00:30" && mode == 0) { stopIt(); //alert(document.location.href); if (confirm("试听结束,是否购买?")) { window.open('/PayWeb/Default.aspx?ID=1_1&PID=' + getQueryStringRegExp("PID") + '&nexturl=' + encodeURI('http://ceshiwh.catv.net/MediaWeb/Music/PlayMusic.aspx?PID=' + getQueryStringRegExp("PID"))) } document.getElementById("pos").innerText = " 00:00/" + durs + " "; document.getElementById(playid).URL = "NULL"; return false; } try { if (oSlider.timer) { window.clearTimeout(oSlider.timer); } oSlider.timer = setTimeout("GetPosition()", 1000); //进度条刷新 if (clearSate) { window.clearTimeout(clearSate); } clearSate = window.setTimeout("showTimer()", 1000); } catch (e) { HandleError(e); } } //初始化 function MakeList() { arrPL = new Array(<%=aryUrl%>); //arrPL = document.getElementById("hidUrl").value.split(","); PlayMode(); //arrPL = new Array("最炫民族风.mp3", "m01.mp3") } function PlayMode() { mode = getQueryStringRegExp("mode"); playMode = document.getElementById("sel_mode").value; } function getQueryStringRegExp(name) { var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i"); if (reg.test(location.href)) return unescape(RegExp.$2.replace(/\+/g, " ")); return 1; } //ie内核的使用 classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" //非ie内核的使用 type="application/x-ms-wmp" function showPlayer() { var vhtml = '<object id="CibnPlayer"'; var userAg = navigator.userAgent; if (-1 != userAg.indexOf("MSIE")) { vhtml += ' classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6"'; } else if (-1 != userAg.indexOf("Firefox") || -1 != userAg.indexOf("Chrome") || -1 != userAg.indexOf("Opera") || -1 != userAg.indexOf("Safari")) { vhtml += ' type="application/x-ms-wmp"'; } vhtml+=' >'; vhtml += '<param name="URL" value=""/>'; //下面这些播放器的参数自己配置吧 vhtml += '<param name="autoStart" value="true" />'; vhtml += '<param name="invokeURLs" value="false">'; vhtml += '<param name="playCount" value="1">'; vhtml += '<param name="Volume" value="100">'; vhtml += '<param name="defaultFrame" value="datawindow">'; //vhtml+='<param name="BufferingTime" value="15">'; vhtml += '</object>'; document.getElementById("PlayerDiv").innerHTML = vhtml; } </script>
<body onload="MakeList(),showPlayer(), PlayIt(0)"> <div id="PlayerDiv" style="z-index: 1; display: none; position: absolute"> </div> <table width="382" height="32" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td height="32" class="zi1"> 播放列表 </td> </tr> </table> <table width="382" height="32" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="39" height="32" bgcolor="#d9d9d9" class="zi1"> </td> <td width="186" bgcolor="#d9d9d9" class="play"> 曲目名称 </td> <td width="108" bgcolor="#d9d9d9" class="play"> 艺术家 </td> <td width="49" bgcolor="#d9d9d9" class="zi1"> </td> </tr> </table> <table align="center" class="scrollable "> <tr> <td> <div style="height: 120px; width: 382; overflow: auto; float: left"> <table id="songList" width="365" border="0" align="center" cellpadding="0" cellspacing="0" class="play-1"> <%if (ds != null && ds.Tables[0].Rows.Count > 0) for (songIndex = 0; songIndex < ds.Tables[0].Rows.Count; songIndex++) {%> <tr id="row<%=songIndex %>" onclick="PlayIt(<%=songIndex %>)"> <td width="2" height="30" align="center"" " background="images/bk-h30.jpg" class="listTd"> </td> <td width="190" background="images/bk-h30.jpg" class="STYLE2 listTd"> <a id="a_songName<%=songIndex %>" href="#" class="lb" onclick="PlayIt(<%=songIndex %>)"> <%=ds.Tables[0].Rows[songIndex]["Title"].ToString()%> </a> </td> <td width="15" align="center" background="images/bk-h30.jpg" class="STYLE2 listTd"> </td> <td width="156" background="images/bk-h30.jpg" class="STYLE2 listTd"> <a href="#" class="lb"> <%=ds.Tables[0].Rows[songIndex]["Player"].ToString()%> </a> </td> </tr> <%} %> </table> </div> </td> </tr> </table> <table width="382" height="36" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td width="79" height="32" class="zi1"> 播放模式: </td> <td width="303" class="zi1"> <select name="select" id="sel_mode" onchange="PlayMode()"> <option value="1">单曲播放</option> <option value="2">循环播放</option> <option value="3">随机播放</option> </select> </td> </tr> </table> </body>