---- 音乐服务器(music server)是指一个提供音乐在线服务的服务器,它包括高端提供门户服务的网站、web数据库和低端的操作平台、硬件设施。 目前,在inte.net和intr.net上有不少这样的站点,特别是在一些高速宽带的局域网中(如校园网),音乐服务器给上网的朋友提供了休闲娱乐的好去处,同时也给网站带来了较高的访问率。
----像其他站点一样,音乐服务器包括网站和硬件两个部分。硬件性能和服务器效率是成正比的,因而如何构建网站才是一个音乐服务器的关键。从目前来看,网站基本有两种类型:一种是运行在unix / linux环境下,采用perl / c / php / java 等作cgi编程语言;一种是运行在win nt server 平台上,采用asp / wincgi 作后台语言。前者运行效率高,但结构复杂,比较适合大型站点;后者编程难度相对较低,而且采用odbc驱动接口,数据库连接方便,特别适合作音乐服务器。
----一个基本的音乐服务器包括音乐在线欣赏、音乐排行榜、音乐主题检索和音乐下载等四个部分。下面将主要从技术角度来讨论如何实现以上功能。
音乐主题数据库的规划
----音乐主题数据库是web站点存储所需音乐资料的仓库,它的规划在很大程度上影响了整个网站的结构和效率。数据库中可以单独建成一张表单,也可以以主键和外键的形式建成多张表单。本例中为说明上的便利,建成如下单表框架: (music.mdb)
音乐在线欣赏
----在线欣赏是指客户端利用播放器播放服务器端的音乐文件。其原理是当客户端向服务器提交音乐选单后,服务器生成相应的.m3u文件,并将该文件通过http协议下行至客户端;客户端将被激发调用相应的播放器执行该文件,从而实现了音乐在线欣赏功能。目前支持.m3u文件的播放器有winamp、realplayer g2、 musicmatch等。当这些播放器软件被正确安装在客户端时,就可以自动播放.m3u文件。所以解决问题的关键在于后台如何生成.m3u文件并下行到客户端。以下利用asp中内置的filesystem组件给出一种解决方案,并给出相应程序。
<%
dim choose,path,mydb,myset,sql,fs,mp3
‘##### 获得list.htm表单中选中的歌曲项
对应的id号,并赋给字串变量choose #####
choose=“("
for i=3 to request.form.count
choose=choose+request.form(i)+“,"
next
choose=left(choose,len(choose)-1)+“)"
‘##### 判断choose变量,如果不包含任何id号,
说明list.htm中没有选中任何歌曲,终止程序#####
if choose=“()" then
response.redirect(“list.htm")
response.end
end if
‘#####设置文件路径,需要把temp目录的权限设为
对inte.net匿名用户具有read & write 权限 #####
path=“e:\.netpub\wwwroot\temp\"
‘##### 创建文件对象 #####
set fs = createobject(“scripting.filesystemobject")
set mp3 = fs.createtextfile(path+“listen.m3u", true)
‘##### 创建数据库对象#####
set mydb=server.createobject(“adodb.connection")
mydb.open “music"
‘##### 检索数据库,获得歌曲信息 #####
sql=“select mp3name,url from "&dbname&
“where id in "&choose
set myset=tdb.execute(sql)
do while not myset.eof
‘##### 生成点播歌曲文件列表 #####
mp3.write(“http://"+myset(“url")+chr(10))
myset.movenext
loop
‘##### 更新数据库中的当天点播次数和
总共点播次数 #####
sql=“update music set click=click+1,
this=this+1 where id in "&choose
mydb.execute(sql)
‘##### 取消对象 #####
set myset=nothing
mydb.close
set mydb=nothing
mp3.close
set mp3=nothing
‘##### 将该文件下载给用户#####
response.redirect(“listen.m3u")
response.end
%>
----注意:利用这种方法时,要控制.m3u文件http头的内容。在winnt中可利用iis设置.m3u文件类型的mine内容。具体操作如下:启动iis —> 选中音乐服务器所在的web站点 —> 点击“属性” 按钮 —> 在出现的属性选项卡中点击“http标题”卡 —> 点击“文件类型”按钮 —> 点击“新增类型”按钮 —> 在“相应的扩展名”中填入“.m3u”,在“内容类型”中填入“audio/mpegurl” —> 然后一路确定即可。
音乐排行榜
----音乐排行榜是音乐服务器不可缺少的一项内容,其重要性不亚于一个站点的pageview。它可以向歌迷即时提供信息、引导欣赏、动态地反映潮流趋势。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器