天天看点

【第二期】如何制作属于自己网站的音乐播放器 - 该换了

    大家好,欢迎喜欢我的朋友继续关注我的技术文章,话说现在的东西越来越快了,更新的不是你所想象的到的。

【第二期】如何制作属于自己网站的音乐播放器 - 该换了
【第二期】如何制作属于自己网站的音乐播放器 - 该换了

   好了,说了这么多,下面开始今天的知识讲解:

   建站的时候要关注的东西很多,注意事项也很多,要认识到你是要给网络上的千万人看,所以一定要一步步的完善各个模块的功能,后台要注意的地方很多,今天先不说,主要是怕大家看得乏味,所以先给大家讲些好玩的,一些前台的东西,对于UI的展示来说,其实技术含量不高,但是其实关乎着你网站的访问命运,对吧?嘿嘿,那么就给大家介绍如何编写属于自己的网站音乐播放器。51CTO的音乐播放器很强大也好好用,不过对于快速发展的网络,似乎有些跟不上脚步了。这里我写出一些自己的想法,或许可以给51CTO提供一些建议吧,我想。

播放器的选择:

大部分的技术人都是用一些比较实在的做法就是,

1

2

3

4

5

6

7

<code>&lt;</code><code>object</code> <code>id=nstv classid=</code><code>'CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'</code> <code>width=280 height=60 codebase=http:</code><code>//activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701standby=Loading Microsoft? Windows Media? Player components... type=application/x-oleobject&gt;</code>

<code>&lt;param name=</code><code>'URL'</code> <code>value=</code><code>'your.mp3'</code><code>&gt;</code>

<code>&lt;PARAM NAME=</code><code>'UIMode'</code> <code>VALUE=</code><code>'full'</code><code>&gt;&lt;PARAM NAME=</code><code>'AutoStart'</code> <code>VALUE=</code><code>'false'</code><code>&gt;</code>

<code>&lt;PARAM NAME=</code><code>'Enabled'</code> <code>VALUE=</code><code>'true'</code><code>&gt;</code>

<code>&lt;PARAM NAME=</code><code>'enableContextMenu'</code> <code>VALUE=</code><code>'false'</code><code>&gt;</code>

<code>&lt;/</code><code>object</code><code>&gt;</code>

<code>======</code>

 缺点:添加过多的音乐会使空间变慢,如果被迅雷之类的瞄上空间会死掉。这些音乐盒的东西不是几行代码就能实现的,还要看你的网站是否支持这类功能。

   我也是找了好久最后发现的Dewplayer,如下图,

<a target="_blank" href="http://blog.51cto.com/attachment/201308/230140695.jpg"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201308/230244865.jpg"></a>

选择它的原因不光是因为它很PL,确实做的相当不错,还有一个原因是开源,便于学习和应用。

播放器的使用:

    下载下来之后是这个样子,如下图,

<a target="_blank" href="http://blog.51cto.com/attachment/201308/230556497.jpg"></a>

【第二期】如何制作属于自己网站的音乐播放器 - 该换了

   所以今天教给大家几种适中的方法能最大程度的保证你网站的正常访问,XML的存储:

   可以注意到此播放器是提供xml播放列表的存储的,所以非常方便,也不必须用数据库了,之前我也试过用数据库存储,效果确实也实现了,下面是代码,

1.添加Repeaterbind一下:

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

<code>&lt;div&gt;</code>

<code>                                </code><code>&lt;asp:Repeater ID=</code><code>"MusicRepeater"</code> <code>runat=</code><code>"server"</code> <code>OnItemCommand=</code><code>"MusicRepeater_ItemCommand"</code><code>&gt;</code>

<code>                                    </code><code>&lt;HeaderTemplate&gt;</code>

<code>                                        </code><code>&lt;table style=</code><code>"height: 16px; width: 232px"</code><code>&gt;</code>

<code>                                            </code><code>&lt;tr&gt;</code>

<code>                                                </code><code>&lt;td&gt;</code>

<code>                                                    </code><code>歌名</code>

<code>                                                </code><code>&lt;/td&gt;</code>

<code>                                                    </code><code>选择</code>

<code>                                            </code><code>&lt;/tr&gt;</code>

<code>                                    </code><code>&lt;/HeaderTemplate&gt;</code>

<code>                                    </code><code>&lt;ItemTemplate&gt;</code>

<code>                                        </code><code>&lt;tr&gt;</code>

<code>                                            </code><code>&lt;td&gt;</code>

<code>                                                </code><code>&lt;%#Eval(</code><code>"MusicName"</code><code>)%&gt;</code>

<code>                                            </code><code>&lt;/td&gt;</code>

<code>                                                </code><code>&lt;asp:LinkButton ID=</code><code>"btnChoose"</code> <code>runat=</code><code>"server"</code> <code>CommandName=</code><code>"choose"</code> <code>CommandArgument=</code><code>'&lt;%#Eval("ID") %&gt;'</code><code>&gt;[Play]&lt;/asp:LinkButton&gt;</code>

<code>                                        </code><code>&lt;/tr&gt;</code>

<code>                                    </code><code>&lt;/ItemTemplate&gt;</code>

<code>                                    </code><code>&lt;FooterTemplate&gt;</code>

<code>                                        </code><code>&lt;/table&gt;</code>

<code>                                    </code><code>&lt;/FooterTemplate&gt;</code>

<code>                                </code><code>&lt;/asp:Repeater&gt;</code>

<code>                            </code><code>&lt;/div&gt;</code>

<code>&lt;</code><code>object</code> <code>type=</code><code>"application/x-shockwave-flash"</code> <code>width=</code><code>"250"</code> <code>height=</code><code>"65"</code> <code>id=</code><code>"dewplayer"</code>

<code>                                    </code><code>data=</code><code>"music/jsmusic/dewplayer-playlist-cover.swf"</code><code>&gt;</code>

<code>                                    </code><code>&lt;param name=</code><code>"wmode"</code> <code>value=</code><code>"transparent"</code> <code>/&gt;</code>

<code>                                    </code><code>&lt;param name=</code><code>"movie"</code> <code>value=</code><code>"music/jsmusic/dewplayer-playlist-cover.swf"</code> <code>/&gt;</code>

<code>                                    </code><code>&lt;param name=</code><code>"flashvars"</code> <code>value=</code><code>"showtime=true&amp;amp;autoreplay=true&amp;amp;xml=music/jsmusic/playlist.xml"</code><code>&gt;</code>

<code>                                    </code><code>&lt;param name=</code><code>"flashvars"</code> <code>value=</code><code>"mp3=&lt;%=Url %&gt;&amp;amp;autostart=1&amp;amp;showtime=1&amp;amp;randomplay=1 "</code> <code>/&gt;</code>

<code>                                </code><code>&lt;/</code><code>object</code><code>&gt;</code>

2..cs界面代码:

<code>//绑定Music列表</code>

<code>        </code><code>protected</code> <code>void</code> <code>bindMusic()</code>

<code>        </code><code>{</code>

<code>            </code><code>L_Music lm = </code><code>new</code> <code>L_Music();</code>

<code>            </code><code>MusicService ms = </code><code>new</code> <code>MusicService();</code>

<code>            </code><code>MusicRepeater.DataSource = ms.Recommanddataset();</code>

<code>            </code><code>MusicRepeater.DataBind();</code>

<code>        </code><code>}</code>

<code>//绑定MusicRepeater</code>

<code>        </code><code>protected</code> <code>void</code> <code>MusicRepeater_ItemCommand(</code><code>object</code> <code>source, RepeaterCommandEventArgs e)</code>

<code>            </code><code>if</code> <code>(e.CommandName == </code><code>"choose"</code><code>)</code>

<code>            </code><code>{</code>

<code>                </code><code>MusicService ms = </code><code>new</code> <code>MusicService();</code>

<code>                </code><code>L_Music lm = </code><code>new</code> <code>L_Music ();</code>

<code>                </code><code>lm = ms.get_singleMusic(Convert.ToInt32(e.CommandArgument.ToString()));</code>

<code>                </code><code>Url = lm.MusicAddress.ToString();</code>

<code>                                                                                                                                                                                                                             </code> 

<code>            </code><code>}</code>

3.这样可以实现后台数据库的控制列表操作,效果如下图,

<a target="_blank" href="http://blog.51cto.com/attachment/201308/233451144.jpg"></a>

播放器的使用2:

如果是使用XML的绑定,那就轻松很多了,前台几乎不用写代码就可以实现播放和列表的选择显示,以及各种播放设置,在此举一例说明:

1.源页面代码:

<code>&lt;%--页面音乐--%&gt;</code>

<code>                </code><code>&lt;div </code><code>class</code><code>=</code><code>"music"</code><code>&gt;</code>

<code>                    </code><code>&lt;asp:UpdatePanel ID=</code><code>"UpdatePanel1"</code> <code>runat=</code><code>"server"</code><code>&gt;</code>

<code>                        </code><code>&lt;ContentTemplate&gt;</code>

<code>                            </code><code>&lt;div&gt;</code>

<code>                                </code><code>&lt;</code><code>object</code> <code>type=</code><code>"application/x-shockwave-flash"</code> <code>data=</code><code>"music/jsmusic/dewplayer-playlist.swf"</code>

<code>                                    </code><code>width=</code><code>"240"</code> <code>height=</code><code>"200"</code> <code>id=</code><code>"dewplayer"</code> <code>name=</code><code>"dewplayer"</code><code>&gt;</code>

<code>                                    </code><code>&lt;param name=</code><code>"movie"</code> <code>value=</code><code>"music/jsmusic/dewplayer-playlist.swf"</code> <code>/&gt;</code>

<code>                                    </code><code>&lt;param name=</code><code>"flashvars"</code> <code>value=</code><code>"showtime=true&amp;autoreplay=true&amp;xml=XML/xmltodataset.xml&amp;amp;autostart=1&amp;amp;showtime=1&amp;amp;randomplay=1 "</code> <code>/&gt;</code>

<code>                        </code><code>&lt;/ContentTemplate&gt;</code>

<code>                    </code><code>&lt;/asp:UpdatePanel&gt;</code>

<code>                </code><code>&lt;/div&gt;</code>

2.这样就可以实现所需的功能了,是不是很简单,不过要注意几点:

 2.1.路径一定要选择物理路径(相对路径),value的值用&amp;连接;

 2.2.建议加一个Ajax,局部刷新不影响音乐的播放。

3.效果图,

<a target="_blank" href="http://blog.51cto.com/attachment/201308/234606414.jpg"></a>

【第二期】如何制作属于自己网站的音乐播放器 - 该换了
【第二期】如何制作属于自己网站的音乐播放器 - 该换了

All options can be added to the parameters <code>flashvars="option1=value1&amp;option2=value2"</code> or after the .swf file URL <code>dewplayer.swf?option1=value1&amp;option2=value2</code>.

Default volume

volume=100

With value between 0 = silent and 100 = maximal

Auto start

autostart=true

Plays automatically when the player is loaded

Loop play

autoreplay=true

Plays the same file at the end of the playing

Random play

randomplay=true

For the players with multiple loaded MP3s

Timer minutes:seconds

showtime=true

Display the durations in mm:ss

No cursor

nopointer=true

Disable the cursor on the seek bar

Playlist

xml=playlist.xml

Fading

fading=3

No gap (seconds) between one track and the next one, for players that can support fading

本文转自 吴雨声 51CTO博客,原文链接:http://blog.51cto.com/liangxiao/1263203,如需转载请自行联系原作者

继续阅读