⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 play.jsp

📁 jsp+ajax实例
💻 JSP
字号:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import ="java.io.*" %>
<%@ page language="java" import="java.sql.*"%>
<%@ page import="java.util.*" %>
<%@ page import="java.util.Date"%>
<%@ page import="java.text.*" %>
<%
//out.print(request.getParameter("id"));
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String db=getServletContext().getRealPath("\\")+"music.mdb";
File dbpath=new File(db);
String path = new java.io.File(db).getAbsolutePath();
Connection conn= DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};" +
"DBQ="+path);
Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
try
{
String sql="select file,pic,music,name,type,lrc from mp3 where id="+request.getParameter("id");
ResultSet rs=stmt.executeQuery(sql);
rs.next();
String file=rs.getString("file");
String pic=rs.getString("pic");
String musicName=rs.getString("music");
String geshou=rs.getString("name");
String type=rs.getString("type");
String lrc=rs.getString("lrc");
int d=file.lastIndexOf(".");
int len=file.length();
String fileType=file.substring(d+1,len);
%>
<html>
<head><title>[<%=geshou%>]-[<%=musicName%>]</title>
<STYLE type=text/css> 
TD { FONT-SIZE: 9pt; LINE-HEIGHT: 17px; } 
BODY{ 
FONT-SIZE: 9pt; 
LINE-HEIGHT: 17px; 
margin-left: 0px; 
margin-top: 0px; 
margin-right: 0px; 
margin-bottom: 0px; 
} 
#lrcollbox td, #lrcollbox font {font-family: 黑体; font-size: 16px;} 
#lrcoll td { color:#0080C0; cursor: default; } 
#lrcbox { color:#0080C0 } 
#lrcfilter { filter: alpha(opacity=0) } 
#lrcbc { color:#FFFF33 } 
A.a03{font-size:18px; color:#0099FF; text-decoration:none;
}
A.a03:hover{font-size:18px; color:#00FF00; text-decoration:none;}
</STYLE>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" bgcolor="#000000">

<%
if(type.equals("1"))
 {//out.print("音频");
 %>
  
<script language="javascript" src="js/fudong.js"></script>
<SCRIPT FOR=window EVENT=onload LANGUAGE="JScript"> 
initAd();//载入页面后,调用函数initAd() 
</SCRIPT> 
<script language="JavaScript"> 
self.moveTo(200,0); 
//self.resizeTo(screen.availWidth,screen.availHeight); 
self.resizeTo(490,635);
</script> 
<script language="javascript">
function click() {
if (event.button==2) {
alert('对不起,本页禁用右键!');
}
}
document.onmousedown=click
</script>
 <center>
<span id="lrcdata"><!-- 
<%
if(lrc==null)
{out.print("[00:00.00]没有歌词……");}
else{
String db2=getServletContext().getRealPath("\\")+"Lyrics\\";
String path2 = new java.io.File(db2).getAbsolutePath()+"\\";
FileReader fr=new FileReader(path2+lrc);   
int c=fr.read();
   
  while(c   !=   -1)   //判断是否已读到文件的结尾     
  {     
  String str=String.valueOf((char)c);   
  if(c==36)
  {//判断是否含有$符号   
  fr.skip(1);   
  }   
 out.print(str);   //输出读取到的数据       
  c   =   fr.read();   //从文件中读取数据     
  
  }     
  //out.println(intPagesChar);   
  //关闭文件     
  fr.close();   } 
%>
--></span> 
<center> 
<object classid="clsid:6bf52a52-394a-11d3-b153-00c04f79faa6" id="aboutplayer" width="480" height="240"> 
<param name="url" value="audio/<%=file%>"> 
<param name="volume" value="50"> 
<param name="enablecontextmenu" value="0"> 
<param name="enableerrordialogs" value="0"> 
</object> 
<div id="lrcollbox" style="overflow:hidden; height:360; width:480; background-color:#000000;"> 
<table border="0" cellspacing="0" cellpadding="0" width="100%" id="lrcoll" style="position:relative; top: -20px;" oncontextmenu="return false;"> 
<tr><td nowrap height="20" align="center" id="lrcwt1"></td></tr> 
<tr><td nowrap height="20" align="center" id="lrcwt2">&nbsp;</td>
</tr> 
<tr><td nowrap height="20" align="center" id="lrcwt3"></td></tr> 
<tr><td nowrap height="20" align="center" id="lrcwt4"></td></tr> 
<tr><td nowrap height="20" align="center" id="lrcwt5"></td></tr> 
<tr><td nowrap height="20" align="center" id="lrcwt6"></td></tr> 
<tr><td nowrap height="20" align="center"> 
<table border="0" cellspacing="0" cellpadding="0"> 
<tr><td nowrap height="20"><span id="lrcwt7" style="height:20"></span></td></tr> 
<tr style="position:relative; top: -20px; z-index:6"><td nowrap height="20"><div id="lrcfilter" style="overflow:hidden; width:100%; color:#FFFF33; height:20"></div></td></tr> 
</table> 
</td></tr> 
<tr style="position:relative; top: -20px"><td nowrap height="20" align="center"> 
<table border="0" cellspacing="0" cellpadding="0"> 
<tr><td nowrap height="20"><span id="lrcbox" style="height:20">歌词加载中</span></td></tr> 
<tr style="position:relative; top: -20px; z-index:6;"><td nowrap height="20"><div id="lrcbc" style="overflow:hidden; height:20; width:0;"></div></td></tr> 
</table> 
</td></tr> 
<tr style="position:relative; top: -40px;"><td nowrap height="20" align="center" id="lrcwt8"></td></tr> 
<tr style="position:relative; top: -40px;"><td nowrap height="20" align="center" id="lrcwt9"></td></tr> 
<tr style="position:relative; top: -40px;"><td nowrap height="20" align="center" id="lrcwt10"></td></tr> 
<tr style="position:relative; top: -40px;"><td nowrap height="20" align="center" id="lrcwt11"></td></tr> 
<tr style="position:relative; top: -40px;"><td nowrap height="20" align="center" id="lrcwt12"></td></tr> 
<tr style="position:relative; top: -40px;"><td nowrap height="20" align="center" id="lrcwt13"></td></tr> 
</table> 
<div id="AdLayer" style="position:absolute; width:140px; height:45px; z-index:140; visibility:hidden;; left: 0px; top: 300px">
<font color="#FFFFFF" size="1">[<%=geshou%>]<br>[<%=musicName%>]<br>[<a  href="#" onClick="javascript:window.close()" class="a03">关闭</a>]</font>
</div> 

</div> 
</center> 
<script language="JavaScript"> 
var lrc0; 
var lrc1; 
var min; 
lrcobj = new lrcClass(lrcdata.innerHTML.slice(4,-3)); 

function lrcClass(tt) 
{ 
this.inr = []; 
this.min = []; 

this.oTime = 0; 

this.dts = -1; 
this.dte = -1; 
this.dlt = -1; 
this.ddh; 
this.fjh; 

lrcbc.style.width = 0; 

if(/\[offset\:(\-?\d+)\]/i.test(tt)) 
this.oTime = RegExp.$1/1000; 

tt = tt.replace(/\[\:\][^$\n]*(\n|$)/g,"$1"); 
tt = tt.replace(/\[[^\[\]\:]*\]/g,""); 
tt = tt.replace(/\[[^\[\]]*[^\[\]\d]+[^\[\]]*\:[^\[\]]*\]/g,""); 
tt = tt.replace(/\[[^\[\]]*\:[^\[\]]*[^\[\]\d\.]+[^\[\]]*\]/g,""); 
tt = tt.replace(/<[^<>]*[^<>\d]+[^<>]*\:[^<>]*>/g,""); 
tt = tt.replace(/<[^<>]*\:[^<>]*[^<>\d\.]+[^<>]*>/g,""); 

while(/\[[^\[\]]+\:[^\[\]]+\]/.test(tt)) 
{ 
tt = tt.replace(/((\[[^\[\]]+\:[^\[\]]+\])+[^\[\r\n]*)[^\[]*/,"\n"); 
var zzzt = RegExp.$1; 
/^(.+\])([^\]]*)$/.exec(zzzt); 
var ltxt = RegExp.$2; 
var eft = RegExp.$1.slice(1,-1).split("]["); 
for(var ii=0; ii<eft.length; ii++) 
{ 
var sf = eft[ii].split(":"); 
var tse = parseInt(sf[0],10) * 60 + parseFloat(sf[1]); 
var sso = { t:[] , w:[] , n:ltxt } 
sso.t[0] = tse-this.oTime; 
this.inr[this.inr.length] = sso; 
} 
} 
this.inr = this.inr.sort( function(a,b){return a.t[0]-b.t[0];} ); 

for(var ii=0; ii<this.inr.length; ii++) 
{ 
while(/<[^<>]+\:[^<>]+>/.test(this.inr[ii].n)) 
{ 
this.inr[ii].n = this.inr[ii].n.replace(/<(\d+)\:([\d\.]+)>/,"%=%"); 
var tse = parseInt(RegExp.$1,10) * 60 + parseFloat(RegExp.$2); 
this.inr[ii].t[this.inr[ii].t.length] = tse-this.oTime; 
} 
lrcbc.innerHTML = "<font>"+ this.inr[ii].n.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/%=%/g,"</font><font>") +"</font>"; 
var fall = lrcbc.getElementsByTagName("font"); 
for(var wi=0; wi<fall.length; wi++) 
this.inr[ii].w[this.inr[ii].w.length] = fall[wi].offsetWidth; 
this.inr[ii].n = lrcbc.innerText; 
} 

for(var ii=0; ii<this.inr.length-1; ii++) 
this.min[ii] = Math.floor((this.inr[ii+1].t[0]-this.inr[ii].t[0])*10); 
this.min.sort(function(a,b){return a-b}); 
min = this.min[0]/2; 

this.run = function(tme) 
{ 
if(tme<this.dts || tme>=this.dte) 
{ 
var ii; 
for(ii=this.inr.length-1; ii>=0 && this.inr[ii].t[0]>tme; ii--){} 
if(ii<0) return; 
this.ddh = this.inr[ii].t; 
this.fjh = this.inr[ii].w; 
this.dts = this.inr[ii].t[0]; 
this.dte = (ii<this.inr.length-1)?this.inr[ii+1].t[0]:aboutplayer.currentMedia.duration; 

lrcwt1.innerText = this.retxt(ii-7); 
lrcwt2.innerText = this.retxt(ii-6); 
lrcwt3.innerText = this.retxt(ii-5); 
lrcwt4.innerText = this.retxt(ii-4); 
lrcwt5.innerText = this.retxt(ii-3); 
lrcwt6.innerText = this.retxt(ii-2); 
lrcwt7.innerText = this.retxt(ii-1); 
lrcfilter.innerText = this.retxt(ii-1); 
lrcwt8.innerText = this.retxt(ii+1); 
lrcwt9.innerText = this.retxt(ii+2); 
lrcwt10.innerText = this.retxt(ii+3); 
lrcwt11.innerText = this.retxt(ii+4); 
lrcwt12.innerText = this.retxt(ii+5); 
lrcwt13.innerText = this.retxt(ii+6); 
this.print(this.retxt(ii)); 
if(this.dlt==ii-1) 
{ 
clearTimeout(lrc0); 
if(lrcoll.style.pixelTop!=0) lrcoll.style.top = 0; 
golrcoll(0); 
clearTimeout(lrc1); 
lrcfilter.filters.alpha.opacity = 100; 
golrcolor(0); 
} 
else if(parseInt(lrcoll.style.top)!=-20) 
{ 
clearTimeout(lrc0); 
lrcoll.style.top = -20; 
clearTimeout(lrc1); 
lrcfilter.filters.alpha.opacity = 0; 
} 
this.dlt = ii; 
} 
var bbw = 0; 
var ki; 
for(ki=0; ki<this.ddh.length && this.ddh[ki]<=tme; ki++) 
bbw += this.fjh[ki]; 
var kt = ki-1; 
var sc = ((ki<this.ddh.length)?this.ddh[ki]:this.dte) - this.ddh[kt]; 
var tc = tme - this.ddh[kt]; 
bbw -= this.fjh[kt] - tc / sc * this.fjh[kt]; 
if(bbw>lrcbox.offsetWidth) 
bbw = lrcbox.offsetWidth; 
lrcbc.style.width = Math.round(bbw); 
} 

this.retxt = function(i) 
{ 
return (i<0 || i>=this.inr.length)?"":this.inr[i].n; 
} 

this.print = function(txt) 
{ 
lrcbox.innerText = txt; 
lrcbc.innerText = txt; 
} 

this.print("载入歌词中……"); 
lrcwt1.innerText = ""; 
lrcwt2.innerText = ""; 
lrcwt3.innerText = ""; 
lrcwt4.innerText = ""; 
lrcwt5.innerText = ""; 
lrcwt6.innerText = ""; 
lrcwt7.innerText = ""; 
lrcfilter.innerText = ""; 
lrcwt8.innerText = ""; 
lrcwt9.innerText = ""; 
lrcwt10.innerText = ""; 
lrcwt11.innerText = ""; 
lrcwt12.innerText = ""; 
lrcwt13.innerText = ""; 
} 

function lrcrun() 
{ 
with(aboutplayer) 
{ 
lrcobj.run(controls.currentPosition); 
} 
if(arguments.length==0) setTimeout("lrcrun()",10); 
} 

function golrcoll(s) 
{ 
lrcoll.style.top = -(s++)*2; 
if(s<=9) 
lrc0 = setTimeout("golrcoll("+s+")",min*10); 
} 

function golrcolor(t) 
{ 
lrcfilter.filters.alpha.opacity = 110-(t++)*10; 
if(t<=10) 
lrc1 = setTimeout("golrcolor("+t+")",min*10); 
} 
window.onerror = function() 
{return true;} 
lrcrun(); 
</script> 
 <%
 }
 else if(type.equals("2"))
 {//out.print("视频");
 %>
 <script language="JavaScript"> 
self.moveTo(200,0); 
//self.resizeTo(screen.availWidth,screen.availHeight); 
//self.resizeTo(480,635);
</script> 
<script language="javascript">
function click() {
if (event.button==2) {
alert('对不起,本页禁用右键!');
}
}
</script>
 
 <table height="100%" width="100%" border="1" align="center" bordercolor="#000000">
 
     <div> <center>
        
        <strong><font color="#FFFFFF">歌名:</font><font color="#00ff00"><%=musicName%></font><font color="#FFFFFF">艺术家:</font><font color="#00ff00"><%=geshou%></font>
      </strong></center></div>
     
              <object id="mp" width="100%" height="568" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=6,4,5,715" align="baseline" border="0" standby="加载中……" type="application/x-oleobject">
                <param name="FileName" value="video/<%=file%>">
                <param name="ShowControls" value="1">
                <param name="ShowPositionControls" value="1">
                <param name="ShowAudioControls" value="1">
                <param name="ShowTracker" value="1">
                <param name="ShowDisplay" value="0">
                <param name="ShowStatusBar" value="1">
                <param name="AutoSize" value="1">
                <param name="ShowGotoBar" value="0">
                <param name="ShowCaptioning" value="0">
                <param name="AutoStart" value="1">
                <param name="PlayCount" value="1">
                <param name="AnimationAtStart" value="0">
                <param name="TransparentAtStart" value="0">
                <param name="AllowScan" value="0">
                <param name="EnableContextMenu" value="1">
                <embed src="video/<%=file%>" width="100%" height="450" type="application/x-mplayer2" pluginspage="http://www.microsoft.com/isapi/redir.dll?prd=windows&sbp=mediaplayer&ar=media&sba=plugin&"  showcontrols="1" showpositioncontrols="0"
 showaudiocontrols="1" showtracker="1" showdisplay="0"
 showstatusbar="1"
 autosize="0"
 showgotobar="0" showcaptioning="0" autostart="1" autorewind="0"
 animationatstart="0" transparentatstart="0" allowscan="1"
 enablecontextmenu="1" clicktoplay="0" invokeurls="1"> </embed>
              </object>
    
  <center><strong><a  href="#" onClick="javascript:window.close()" class="a03">关闭</a></strong></center>

 <%
 }
}
catch(Exception e){
out.println(e.getMessage());
}
stmt.close();
conn.close();
%>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -