日
11
10月
2009
以前就知道DewPlayer mp3 flash player和JW FLV Media Player这两款超级播放器,一直没真正玩过。这两天试着鼓捣了DewPlayer一阵子,感觉在学习布置DewPlayer播放列表过程中所遇到的一些困难,很值得和大家分享一下,或许会对遇到过相同问题的朋友有所帮助。
下面就是我在学习布置DewPlayer播放列表过程中所遇到的各种出错信息的汇总。
一、首先,先简要说一下DewPlayer播放列表在博客中的布置步骤:
1、需要播放器flash外观文件(dewplayer-playlist.swf ),下载地址如下:
2、新建一个空白txt文本文件,将下面彩色部分的代码内容粘贴进去,再将文件另存为扩展名为xml的文件,比如:取名为playlist.xml
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<!-- 音乐链接地址 -->
<location>http://abc.com/1.mp3</location>
<!-- 歌手或乐队名称 -->
<creator>Led Zeppelin</creator>
<!-- 专辑名称 -->
<album>Houses of the Holy</album>
<!-- 歌曲名称 -->
<title>No Quarter</title>
<!-- 歌曲感言 -->
<annotation>I love this song</annotation>
<!-- 歌曲时长(以毫秒计算) -->
<duration>271066</duration>
<!-- 专辑图片 -->
<image>http://abc.com/1.jpg</image>
<!-- 原创网站链接 -->
<info>http://example.com</info>
</track>
<track>
<location>http://abc.com/2.mp3</location>
</track>
</trackList>
</playlist>
参数说明:1、橙色文字为注释,可以省略;2、蓝色标注的文字是可替换部分;3、每一对<track></track>标签之间的部分代表一首歌的所有信息,这些信息是可选的,但是<location>音乐链接地址</location>是必须有的,否则根本没歌可播放,推荐使用<location>和<title>两个标签;4、可以有多个<track></track>标签,用于添加多首歌到xml播放列表中。
3、将dewplayer-playlist.swf和playlist.xml这两个文件上传到自己的空间,如果使用公共博客的可以将它们上传到dropbox网盘,并获得外链地址备用。
4、将下面的代码布置到需要添加播放列表的网页中,蓝色部分用实际的swf和xml文件地址替换:
<object type="application/x-shockwave-flash" data="dewplayer-playlist.swf链接地址?xml=playlist.xml链接地址" width="240" height="200"><param name="movie" value="dewplayer-playlist.swf链接地址?xml=playlist.xml链接地址" /></object>
二、实际布置中的出错信息
出错信息1:xml文件的语法错误。
由于语法错误导致xml文件打开后无法正常显示,错误信息显示如下
无法显示 XML 页。
使用 XSL 样式表无法查看 XML 输入。请更正错误然后单击 刷新按钮,或以后重试。
------------------------------------------------------
该位置上不允许有空白。处理资源 'file:///C:/playlist1.xml' 时出错。第 5 行,位置: 4
< !-- 音乐外链地址 -->
---^
实战出错的原因是在xml文档中存在多余的空格,出错信息提示中会告知出现空格的位置,很方便修改。
出错的代码:(出错位置用红色标注)
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
< !-- 音乐外链地址 -->
<location>http://abc.com/2.mp3</location>
</track>
</trackList>
</playlist>
修正后的代码:(修正部分用红色标注)
<?xml version="1.0" encoding="UTF-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
<trackList>
<track>
<!-- 音乐外链地址 -->
<location>http://abc.com/2.mp3</location>
</track>
</trackList>
</playlist>
出错信息2:xml文件的编码使用错误。
xml可以使用ANSI和UTF-8两种代码保存。但是如果文件中包含中文,则必须使用UTF-8编码保存,如下图所示:
当xml文件中包括中文时,使用ANSI编码保存xml文件时,出错信息显示为“ . . . 文本内容中发现无效字符 . . ."
无论xml文件的内容中是否包含中文,使用Unicode和Unicode big endian编码保存xml文件时,都会出错,出错信息显示为“ . . .不支持从当前编码到指定编码的切换 . . . ”
出错信息3:SWF文件链接中的文件名错误。
当布置代码到jimdo博客时,添加下面的代码至Html元素中:
<object type="application/x-shockwave-flash"
data="http://hjp.jimdo.com/s/swf/1665598407.swf?xml=http://174.129.2.129/u/96149/jimdo/xml/playlist.xml" width="240" height="200">
<param name="movie" value="http://hjp.jimdo.com/s/swf/1665598407.swf?xml=http://174.129.2.129/u/96149/jimdo/xml/playlist.xml" />
</object>
结果在播放器列表中出现“xml error”的出错提示,如下图所示:
出错的原因是dewplayer-playlist.swf这个文件的链接中没有保持原有的文件名。
改将dewplayer-playlist.swf上传至dropbox网盘(外链地址中保持原文件名),经此调整后,最终将播放列表鼓捣出来了,演示如下:
正确布置的播放器代码如下:
播放器代码的参数说明:
1、autoplay=0 表示不自动播放,1 为自动播放。
2、autoreplay=1 表示循环播放,0 为不循环播放。
3、showtime=1 表示时间显示为 分:秒 格式,去掉 &showtime=1 则时间显示为 秒 格式。
4、volume=100 表示播放器音量值,其设定值为 0~100,播放器中无音量按钮。
5、wmode="transparent" 表示播放器背景颜色为透明,去掉而加上 bgcolor="颜色代码" 则可以设置播放器的背景颜色,颜色代码如:白色:#ffffff ,黑色:#000000 ,红色:#ff0000 等十六进制颜色代码。
6、nopointer=1 调整进度时不显示光标,0为显示。
7、各参数之间用&隔开,顺序附于xml之后。
附:两个EMBED代码
1、摘自风风雨雨的留言
<embed src="dewplayer-playlist.swf?xml=playlist.xml&autostart=0" width="240" height="200" wmode="transparent" align="middle" type="application/x-shockwave-flash" >
2、由凝嫣阁提供
<embed src=dewplayer-playlist.swf width=240 height=200 type=application/x-shockwave-flash flashvars="xml=playlist.xml&autoplay=0" wmode="transparent"
>
说明:将其中的playlist.xml和dewplayer-playlist.swf改为实际的链接地址即可。
以上实现的只是DewPlayer播放列表的初级应用,麦可·志博客在他的文章《dewPlayer应用》一文中提到使用js (javascript)脚本函数调用的方法来简化代码的设置和添加步骤,以及设置DewPlayer播放器背景颜色和自动播放的方法,推荐搜读一下。关于xml编写的详细技巧可以参考其官方网站:http://www.xspf.org/
最后说一下如何让DewPlayer播放列表支持中文歌名的问题:
网上所说的将编码换成<?xml version="1.0" encoding="GB2312" ?>的方法是无效的,原因是DewPlayer在输出fla源文件时就没有嵌套中文字体,真正改起来会很麻烦,操作过程参考如下:
1、对xml文件编码的修改:
<?xml version="1.0" encoding="ISO-8859-1" ?> 这个是英文的编码格式,我们要改成 <?xml version="1.0" encoding="GB2312" ?>,其实这个 GB2312 换成 utf-8 也可以的。改这个最好用记事本,很方便,改完后 另存为 保存类型是所有文件,编码
选unicode,然后把要输入的中文添加上去
2、对fla源文件修改:
1)、找到输出内容的fla源文件,现在大都是用flash cs3了,在其第一层第一帧上面添加一条程序语句 System.useCodepage = true ,至于这条语句的意思,自己慢慢查帮助吧。
2)、找到文本输出的那个组件,修改其属性 --- 嵌入 那里全部去掉那些洋文字库
---字体,这里修改一种中文字体,一般计算机都有的就是宋体或者黑体了
---滤镜,添加一个模糊滤镜, 参数都修改成 0
至此,fla就基本修改好了,重新保存发布成swf,然后测试浏览。
其实,DewPlayer官方并未提供输出swf文件之前的fla源文件,DewPlayer官方发布带有中文字库的flash文件才行!
重要补充:
音乐博主骚客已经将DewPlayer flash 播放器成功汉化,有兴趣的朋友可以参考此文中骚客博主的留言下载汉化版DewPlayer SWF文件《推荐能外链的FLASH播放器代码》
友情推荐:
O(∩_∩)O
沙发我坐定了!!!
O(∩_∩)O
老胡,您能弄个像这个样子的代码吗?
<DIV ···><embed ···></embed></DIV>
或者这个样子的
<embed ···></embed>
dewplayer那个网站只有单曲的有生成代码
播放列表的都没有,
我有发邮件给他,唉o(︶︿︶)o唉
石沉大海。
不过,在这里学了XML,很好!O(∩_∩)O
那几个酷毙了的播放器下啦!
O(∩_∩)O哈哈~
谢谢老胡!爱死你了!O(∩_∩)O
不过这几个,可不好搞!看文件,都是我没见过的!
还有Ning酷毙了!
O(∩_∩)O
它可批量上传,单文件20MB,一次最多100个文件。
发帖上传单文件限制多少还不清楚。
O(∩_∩)O
老胡,你也酷毙了!O(∩_∩)O
风风雨雨,关于dewplayer播放列表不使用xml播放清单的代码貌似没有吧?不过在单曲播放器代码的音乐地址之间用“|”隔开,倒是可以简单的实现多曲目播放,效果如下:
http://tinyurl.com/ygodzbl
顺便将你的超酷播放器推荐给大家:
http://www.e-phonic.com/mp3player/
还有这款墙外品:
http://flash-mp3-player.net/
dewplayer播放列表有用xml,我只是没写出来,
省略号代替了。
怎么弄这样的代码?那个网站有单曲的代码,
我想把xml代进去,却不知道怎么弄o(︶︿︶)o
老胡,youshare的播放器我在网站有看到,可以加上key,
这可是好东东,你要好好研究一下。
我是在复制的时候看见的,
还有那几个墙外品,最后一款也可加上key。
看那些代码我头都有点晕!(@﹏@)
dewplayer我很早以前就用过,那时它还刚开发不久,它的功能是远远不如JW PLAYER的。
老胡的HTML代码太繁琐,我有简单的<EMBED>嵌入代码,这几天很忙,等我空闲了找出来。
mp3=test.mp3用xml=test.xml代进去,可以,O(∩_∩)O
只是歌手没有显示,曲名有。再去试试O(∩_∩)O哈哈
凝嫣,忙啥?好的播放器 推荐一点吧!O(∩_∩)O
老胡我只有
UTF-8
ANSI
Unicode
Unicode big endian
没有UTP-8,咋办?
凝嫣,你的JW PLAYER播放器玩的那么好,希望也露两手!在你的博客上弄个教程吧,我把链接发到你那!
10楼风风雨雨,取笑了!
关注8楼的进展情况!
我也希望凝嫣能写一下JW 的教程... 最好能写篇JW图片播放的...我也可以在我的小站引用以下.呵呵!
凝嫣,其实大家都很期待呢!下面是凝嫣的博客,里面的播放器都是用JW布置的,很漂亮的!
http://nyange.blog.163.com/
TO老胡:写教程很麻烦的说,现在没精力和兴趣写这些,以后再说喽!再说,现时的网络环境这么差,即使有个好的播放器也难有用武之地。能同时支持SWF和XML文件且能稳定运转的网盘少之又少,DROPBOX以前根本无法加载XML,现在提速了还算马马虎虎,以后未必能保证。
TO一梦:我对JW的图片播放器了解的也不多,你将邮箱留到我博客上,我把我所知的代码发给你,大家共同研究。
..dropbox虽好,但我还是推荐使用免费空间、、、其实国内也有一些很稳定的免费空间,只是流量较小。但一个XML文件占不了多少流量... 国外也有许多好的免费空间...JW 我是决定要学的了、、自己搜了。呵呵!
星沉碧落,我也随你跟进!
TO:六楼风风雨雨,带key的外链地址好像应该外链不了的,星沉碧落的一篇文章建议看看:
http://
ylmfs.jimdo.com/2009/08/23/youshare
JW Player是凝嫣介绍给我的,其实教程由她来操刀该是最合适不过了。考虑到她最近的情况,我自告奋勇了。
不过教程文章最是耗费精力的活,自己偷着玩也就罢了,既然要公开发布,很多概念和情况非得认真核实查证才能说,这是我的脾气没法改,哈……,所以你们可能要忍受我的三天打鱼,两天晒网,哈……
对了,网址得告诉你们:http://tinyurl.com/yzo5ooo
Coriolanus,你能搞这个真是大家的福气,最近一直在想,为什么不常见你了,甚是想念!我把你的文章推到首页推荐中,要好好写哦!希望可以看到一部精品!
老胡也是个“夜猫子”呵……
我还是经常来光顾你的博客,只是潜水罢了,嗯……我比较喜欢低调(唉,说这话自己都觉得脸红,哈……)。其实自从注册了MyOtherDrive后,我就开始专注于写博啦(不好意思,我再次脸红:都写些啥玩意儿嘛……)。
先别急着上首页,俺倍感压力啊!
Coriolanus,上首页是一定了,随后我会与你分享一些我的优化经验,希望将你的这篇文章,乃至你的博客推得高一些!
续楼上,其实我还算是了解你的,我知道你要干的事情就一定会干好的!所以我首先推荐了!
老胡,我的意思是,哪几种播放器好像可以加上key.
key是我们自己加上去的。
不知道个人能不能用。
老胡,比如这款:
template_default_1.0.0
解压后有一个key.as文件。
怎么运用这个文件?????
我们如果能自己加上key
靠!酷毙了!
O(∩_∩)O
两篇都看了
视频播放器我觉得这个好:
http://flowplayer.org/
风风雨雨,感谢你25楼和26楼的精彩回复,这个真是要好好研究一下再说,好像是一块狠肥的肉唉!!
老胡,推荐一两个网盘,我要把播放器压缩包上传,
再把下载链接搁在你这里。
风风雨雨,我推荐RapidShare:
http://
hjp.jimdo.com/2009/10/22/rs/
@sbaby,你的留言太乱了,我删除了,请问你用的是什么博客,我觉得导致代码不能正常显示的原因是可能并未将其布置在支持网页代码的html编辑区,而是粘贴到博客的文本区了。
受教...请问playlist里的曲目能不能自动播放下一首而不是每次都去点击?
@mipako,这个我不知道,不过周富弢是玩转dewplayer的高手,他是DewPlayer播放器原创汉化版的原创者,你可以去他的博客问问
http://www.sktao.com/?p=277
《教程:让dewplayer flash mp3显示中文以及swf成品下载》
@mipako 你好,是可以自动播放下一首的。
这个自动播放下一首,我看了一下貌似只有一个参数可以,就是
randomplay=1
这个是随机播放,用了这个参数后(配合autoplay=1)就可以不停地播放你列表里的歌曲,但是是随机的,不按顺序的。
@骚客,多谢来访并给予精彩留言!
@老胡 我一直以为autoreplay=1是单曲重播,刚才试了下,看来是整个列表重播,所以就会自动不间断地按列表顺序播放。
@骚客,因为目前现成的widget很多,就没静下心来鼓捣dewplayer了,mipako的问题使我又掌握了一个有用的参数。
因为够快网盘行程的列表是能够按顺序自动播放的,所以想dewplayer肯定可以通过调整做到的。
唔、下次提问之前要先把可用的材料用尽才行,这个参数早就能看到了,但是最后才想起来去看一看试一试。
感谢两位所提供的资料和解答。
