首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

jsp连续播放音乐的有关问题,苦恼小弟我很久拉

2012-03-22 
jsp连续播放音乐的问题,苦恼我很久拉!现在在做一个音乐连续播放的功能,当用户选择几首音乐的时候弹出来一

jsp连续播放音乐的问题,苦恼我很久拉!
现在在做一个音乐连续播放的功能,当用户选择几首音乐的时候弹出来一个播放器的筐用来播放音乐,功能我都实现拉     实现步骤是  
1,根据用户选择的音乐文件生成一个asx文件,然后把这个asx文件的地址发给音频   播放器,音频   播放器代码如下:
<object   id= 'MediaPlayer1 '   width= '460 '   height= '68 '   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= 'Loading   Microsoft   Windows   Media   Player   components... '
  type= 'application/x-oleobject '>
  <param   name= 'invokeURLs '   value= '0 '>
  <param   name= 'FileName '   value= ' "+value+ " '   >
  <param   name= 'ShowControls '   value= '1 '>
  <param   name= 'ShowPositionControls '   value= '0 '>
  <param   name= 'ShowAudioControls '   value= '1 '>
  <param   name= 'ShowTracker '   value= '1 '>
  <param   name= 'ShowDisplay '   value= '0 '>
  <param   name= 'ShowStatusBar '   value= '1 '>
  <param   name= 'AutoSize '   value= '0 '>
  <param   name= 'ShowGotoBar '   value= '0 '>
  <param   name= 'ShowCaptioning '   value= '0 '>
  <param   name= 'AutoStart '   value= '-1 '>
  <param   name= 'PlayCount '   value= '0 '>
  <param   name= 'AnimationAtStart '   value= '0 '>
  <param   name= 'TransparentAtStart '   value= '0 '>
  <param   name= 'AllowScan '   value= '0 '>
  <param   name= 'EnableContextMenu '   value= '1 '>
  <param   name= 'ClickToPlay '   value= '0 '>
  <param   name= 'DefaultFrame '   value= 'datawindow '>
  <embed   id= 'MediaPlayer2 '   src= ' "+value+ " '   align= 'baseline '   border= '0 '   width= '468 '   height= '68 '
  type= 'application/x-mplayer2 '
  pluginspage= 'http://www.microsoft.com/isapi/redir.dll?prd=windows&amp;sbp=mediaplayer&amp;ar=media&amp;sba=plugin&amp; '
  name= 'MediaPlayer '   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 '  
  defaultframe= 'datawindow '   invokeurls= '0 '>
  </embed>
</object>

其中   <param   name= 'FileName '   value= ' "+value+ " '   >   这个value   就是asx文件的地址     但是现在有个问题是,每次都要生成一个asx文件,用户停止播放后就成为了垃圾文件拉,请问那位兄弟有没有更好的解决方法呢?



[解决办法]
这么麻烦啊!你可以参考一下我的在线音乐播放系统!
www.ilkj.net
我的音乐连续播放功能,就是利用asx播放列表,但这个文件不用每次生成的啊!
啥叫“动态网站”,直白点说,当然不能生成一堆垃圾文件了!

你可以把asx文件写成jsp文件,然后在page指令头里用多媒体解析这个jsp文件,就像我们做验证码一样,用image/jpeg解析jsp文件就变成图片了!默认的jsp文件page指令是这样的, <%@page language= "java " contentType= "text/html; charset=UTF-8 " %> ,你可以把contentType改成contentType= "video/x-ms-asf; charset=gb2312 ",这样就可以让WMP在线播放器认识这个jsp文件了,然后你把多个音乐文件路径循环写入这个文件,不就OK了!

这个是我的站点的JSP连续播放文件源代码,你可以参考一下!


<%@ page language= "java " contentType= "video/x-ms-asf; charset=gb2312 "%>
<%
//音乐文件所在的目录,我这里用的是绝对路径,自己随意
String songid=(String)request.getAttribute( "songid ");
/*从Servlet中传过来的多个音乐文件,之间用 "_ "连接
然后再用String类的split( " ")方法拆分字符串为数组,将字符串数组循环
写入asx标记中*/
String[] str=songid.split( "_ ");
%>
<ASX Version = "3.0 ">
<%
for(int i=0;i <str.length;i++)
{
/*我的站点音乐文件和JSP程序不在一个服务器上
文件录入数据库时没有加扩展名,所以我下面加上了 ".wma ",自己随意
*/
str[i]=str[i]+ ".wma ";
%>
<Entry>
<Author> </Author>
<Copyright> 低品质音乐,仅供试听!请支持正版唱片! </Copyright>
<Title> </Title>
<Param Name = "WM/AlbumTitle " Value = "爱龙♂空间[www.ilkj.net] " />
<Ref href = " <%=url+str[i]%> " />
</Entry>
<%
}
%>
</ASX>

热点排行