介紹一款JavaScript播放器 - Dewplayer

    網頁播放器一般都是很簡陋的,比如51cto的等等。Dewplayer是一款很不錯的播放器,支持xml,方便後臺管理,這裏我寫了一個後臺接入的類,自己調用就可以對播放器進行增刪改查的管理,導入導出。

    首先是播放器的樣式代碼:

    樣式1:

    wKioL1gaqajxbIrtAAAFJgt5ZxQ767.jpg

<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:

    wKioL1gaqeCifkftAAAGTScoGE8067.jpg

<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:

    wKioL1gaqi7BFYzQAAAIcZR9vKg158.jpg

<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:

    wKioL1gaqlXgxA66AAANFuJxbgU471.jpg

<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:

    wKiom1gaqyDhNrBSAABQpbvk76g811.jpg

<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:

    wKiom1gaq3TD_0rDAABtOQ_r4Eo229.jpg

<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:

    wKiom1gaqsTxPgzHAAApGoNx-nE548.png

<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

    wKioL1garWnxGdZkAACvpaE2sLY817.png

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章