这是一个我曾经写的一个从数据库中读取用户选择的专辑的例子,你可以修改一下。 <!--#include file"/conn.asp"--> <% colid=request("colid")//得到用户选择的专辑号 sql="select * from mp3_musiclist where specialid="&colid set rs=conn.execute(sql) s="" while not rs.EOF s=s&"http://127.0.0.1:88/mp3"&rs("listenurl")&vbCrlf rs.movenext wend s=s&" "&vbCrlf response.contentType="audio/x-pn-realaudio" response.addheader "content-dispositon"inline;filename=playsong.m3u" response.write s source="playsong.m3u" conn.close set conn=nothing %>
#EXTINF:209,屠洪刚 - 精忠报国
http://202.102.233.210/music/ddrc/thg/01.mp3
#EXTINF:224,酒井法子 - 碧兔
E:\music\碧兔.mp3
#EXTINF:295,Salen - 东京爱情故事
E:\music\东京爱情故事.mp3分析可知:
文件以#EXTM3U开头
每一记录均为两行
第一行以#EXTINF:开头,接着是MP3的时间,单位是秒。接着是显示的标题(艺术家 - 歌曲名称)。
第二行是MP3的物理位置。
如果是URL地址,这首歌需要先全部下载,才能开始播放。对访问者的网络速度要求比较高,而且需要安装winamp或者别的播放软件才可以。PHP所需要做的就是生成一个这样格式的文件就可以了。
<!--#include file"/conn.asp"-->
<%
colid=request("colid")//得到用户选择的专辑号
sql="select * from mp3_musiclist where specialid="&colid
set rs=conn.execute(sql)
s=""
while not rs.EOF
s=s&"http://127.0.0.1:88/mp3"&rs("listenurl")&vbCrlf
rs.movenext
wend
s=s&" "&vbCrlf
response.contentType="audio/x-pn-realaudio"
response.addheader "content-dispositon"inline;filename=playsong.m3u"
response.write s
source="playsong.m3u"
conn.close
set conn=nothing
%>