网页播放器一般都是很简陋的,比如51cto的等等。Dewplayer是一款很不错的播放器,支持xml,方便后台管理,这里我写了一个后台接入的类,自己调用就可以对播放器进行增删改查的管理,导入导出。
首先是播放器的样式代码:
样式1:
<object type="application/x-shockwave-flash" data="/flashdir/dewplayer-mini.swf" width="160" height="20" id="dewplayermini" name="dewplayermini">
<param name="movie" value="/flashdir/dewplayer-mini.swf" />
<param name="flashvars" value="mp3=flashdir/mp3/everywhere.mp3" />
</object>
样式2:
<object type="application/x-shockwave-flash" data="/flashdir/dewplayer.swf" width="200" height="20" id="dewplayerclassic" name="dewplayerclassic">
<param name="movie" value="/flashdir/dewplayer.swf?mp3=flashdir/mp3/cesaria.mp3" />
<param name="flashvars" value="mp3=flashdir/mp3/cesaria.mp3" />
</object>
样式3:
<object type="application/x-shockwave-flash" data="/flashdir/dewplayer.swf" width="200" height="20" id="dewplayerclassic" name="dewplayerclassic">
<param name="movie" value="/flashdir/dewplayer.swf?mp3=flashdir/mp3/cesaria.mp3" />
<param name="flashvars" value="mp3=flashdir/mp3/cesaria.mp3" />
</object>
样式4:
<object type="application/x-shockwave-flash" data="/flashdir/dewplayer-bubble.swf" width="250" height="65" id="dewplayerbub" name="dewplayerbub">
<param name="movie" value="/flashdir/dewplayer-bubble.swf" />
<param name="flashvars" value="mp3=flashdir/mp3/moldau.mp3" />
</object>
样式5:
<object type="application/x-shockwave-flash" data="dewplayer-playlist.swf" width="240" height="200" id="dewplayer" name="dewplayer">
<param name="wmode" value="transparent" />
<param name="movie" value="dewplayer-playlist.swf" />
<param name="flashvars" value="showtime=true&autoreplay=true&xml=playlist.xml" />
</object>
样式6:
<object type="application/x-shockwave-flash" data="/flashdir/dewplayer-vinyl.swf" width="303" height="113" id="dewplayervinyl" name="dewplayervinyl">
<param name="movie" value="/flashdir/dewplayer-vinyl.swf" />
<param name="flashvars" value="xml=flashdir/playlist.xml" />
</object>
样式7:
<object type="application/x-shockwave-flash" data="music/jsmusic/dewplayer-playlist.swf" width="240" height="200" id="dewplayer" name="dewplayer">
<param name="wmode" value="transparent" />
<param name="movie" value="music/jsmusic/dewplayer-playlist.swf" />
<param name="flashvars" value="showtime=true&autoreplay=true&autostart=1&showtime=1&randomplay=1&xml=music/playlist.xml" />
</object>
下面是playlist.xml的格式:
<?xml version="1.0" encoding="UTF-8"?> <playlist version="1" xmlns="http://xspf.org/ns/0/"> <trackList> <track> <location>music/mp3/1.mp3</location> <title>我是真的爱你 - 魏雪漫</title> </track> <track> <location>music/mp3/2.mp3</location> <title>往未来飞的客机 - 郭静</title> </track> <track> <location>music/mp3/4.mp3</location> <title>好好(想把你写成一首歌) - 五月天</title> </track> <track> <location>music/mp3/6.mp3</location> <title>达尔文 - 蔡健雅Tanya</title> </track> <track> <location>music/mp3/3.mp3</location> <title>遇见 - 孙燕姿</title> </track> <track> <location>music/mp3/5.mp3</location> <title>我 - 苏运莹</title> </track> </trackList> </playlist>
下面是后台管理xml的类xmlhelper(.NET版):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml;
using System.Data;
using System.IO;
namespace Blog.XML
{
public class xmlhelper
{
//XML添加方法
public void AddXML(string text11, string text3, string fileName)
{
string id = text11;
string title = text3;
string location = @"music/" + fileName;
//在第一个前面插入一条信息
XmlDocument doc = new XmlDocument();
doc.Load(HttpContext.Current.Server.MapPath("XML/xmltodataset.xml"));
XmlNode trackList = doc.SelectSingleNode("/playlist/trackList");
XmlElement track = doc.CreateElement("track");
XmlElement ele_id = doc.CreateElement("id");
ele_id.InnerText = id;
track.AppendChild(ele_id);
XmlElement ele_title = doc.CreateElement("title");
ele_title.InnerText = title;
track.AppendChild(ele_title);
XmlElement ele_location = doc.CreateElement("location");
ele_location.InnerText = location;
track.AppendChild(ele_location);
trackList.InsertBefore(track, trackList.FirstChild);
doc.Save(HttpContext.Current.Server.MapPath("XML/xmltodataset.xml"));
}
//XMl删除
public void Delete(string id)
{
//通过id获取信息
XmlDocument doc = new XmlDocument();
doc.Load(HttpContext.Current.Server.MapPath("XML/xmltodataset.xml"));
XmlNode trackList = doc.SelectSingleNode("/playlist/trackList");
foreach (XmlNode track in trackList.ChildNodes)
{
XmlNode node_id = track.FirstChild;
if (node_id.InnerText == id)
{
track.ParentNode.RemoveChild(track);
}
}
doc.Save(HttpContext.Current.Server.MapPath("XML/xmltodataset.xml"));
}
//XML修改
public void Update(string id, string title)
{
string ID = id;
//通过id获取信息,然后更改信息
XmlDocument doc = new XmlDocument();
doc.Load(HttpContext.Current.Server.MapPath("XML/xmltodataset.xml"));
XmlNode trackList = doc.SelectSingleNode("/playlist/trackList");
foreach (XmlNode track in trackList.ChildNodes)
{
XmlNode temp_node = track.FirstChild;
if (temp_node.InnerText == ID)
{
track.ChildNodes[1].InnerText = title;
doc.Save(HttpContext.Current.Server.MapPath("XML/xmltodataset.xml"));
break;
}
}
}
//XML获取id进行修改
public string GetEntity(string id)
{
string entity = "";
XmlDocument doc = new XmlDocument();
doc.Load(HttpContext.Current.Server.MapPath("XML/xmltodataset.xml"));
XmlNode trackList = doc.SelectSingleNode("/playlist/trackList");
foreach (XmlNode track in trackList.ChildNodes)
{
XmlNode temp_node = track.FirstChild;
if (temp_node.InnerText == id)
{
foreach (XmlNode item in track.ChildNodes)
{
entity += item.InnerText + "|";
}
entity = entity.Substring(0, entity.Length - 1);
break;
}
}
return entity;
}
}
}
代码地址:https://github.com/geeklx/geeklx.github.com/tree/master/music