各位兄弟姐妹,我昨天用Win自带的播放器制作了一个歌曲试听的页面
用PHP生成的歌曲列表,我想请教一下,如何才能实现歌曲的连播和选播呢??
是用JS控制吗???哪位好心人能帮忙,写一下代码?

解决方案 »

  1.   

    我碰到这个问题好久呢,走呢很多弯路,终于弄出来呢,我是搞asp.net的,但我想,歌曲联播的思路大致相同的
    首先,对你说的,那个选择,对吧,这个,你在网上找,很多,这个我就不说呢,
    最重要的,是歌曲连播,首先,你要弄清思路,用户选择多个音乐文件的时候,你会获得每个音乐文件的编号,对吧!~关键是,(我以前,总是想,在后台的时候,就根据编号,查找出所有的音乐,然后播放,其实有点错误),有三个页面 default.aspx,play.aspx,playList.aspx,
    default.aspx,是用来选择的歌曲的,选择好之后,点击,就跳到play.aspx,这个页面去,OK
    你的歌曲播放,这样写
       <!-- 播放器代码开始 -->
            <center>
                <object id="MediaPlayer" height="68" width="406" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6">
                    <param name="AutoStart" value="1">
                    <param name="PlayCount" value="">
                    <param name="EnableContextMenu" value="0">
                    <param name="Volume" value="100">
                    <param name="URL" value="PlayList.aspx">
                    <embed src="" name="MediaPlayer" type="video/x-ms-wmv" width="406" height="68" autostart="1"
                    showcontrols="1" allowscan="1" playcount="100" enablecontextmenu="0"></embed>
                </object>
            </center>
            <!-- 播放器代码结束 -->
    关键是这段 <param name="URL" value="playList.aspx">\
    playList.aspx,好,这个页面就是返回点东西回来的,歌曲连播,一般都要有一个播放列表的,这样才能,连续播放,一般都是*.m3u文件的,而你面主要是写的是
    1.m3u
    <ASX Version = "3.0"> 
    <Entry> <Ref href = "file.mp3" /> </Entry> 
    <Entry> <Ref href = "huahai.mp3" /> </Entry> 
    <Entry> <Ref href = "file.mp3" /> </Entry> 
    <Entry> <Ref href = "file.mp3" /> </Entry> 
    </ASX>
    (如果你把这个文件的路径,放在<param name="URL" value="playList.aspx">你面的value,那么,你现在,就能够连续的听到这里面的歌曲,(原理,网上找,好多,反正是播放器,能默认识别的)).
    现在要做出动态的,对吧
    在playlist.aspx这个页面你面写 //string sql = "取数据SQL语句";
            // MusicDb myMusic = new MusicDb();
            // OleDbDataReader dr = myMusic.GetAllMusic(sql);
            //Response()
             Response.Write("<ASX   VERSION=\"3.0\"><TITLE>音乐列表</TITLE><REPEAT>");
            //while (dr.Read())
            //{
               Response.Write("<ENTRY>");
               Response.Write("<ref   href=\"" + "huizhichibang.mp3" + "\"   />");
             //  Response.Write("<ref   href=\"" + "huahai.mp3" + "\"   />");
              Response.Write("</ENTRY>");
                    //}
            //dr.Close();
            Response.Write("</REPEAT></ASX>");
    好呢,你获得的值,就传到这个页面来,就可以呢,可以用Session来存储值!~返回这个播放文件,OK,就可以播放呢,不懂得在问我,我的QQ是864758369