網頁播放器一般都是很簡陋的,比如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; } } }
最終效果:
樣式1:(麻蛋51CTO把路徑屏蔽了,只能直接拿才能用。)
樣式2:(這個就可以~唉~)
代碼地址:https://github.com/geeklx/geeklx.github.com/tree/master/music