CoolPlayer——媒体播放插件

为了把一首wma放到Blog上,我安装了CoolPlayerCoolPlayer这个插件。

这真是个功能强大的插件,它支持Flash、QuickTime、Real Media、Windows Media等各种媒体文件,还支持YouTube和Google Video的视频,还有图片文件和pdf文件,对于不支持的文件比如ZIP文件,插件会直接给出链接提供下载。对于媒体文件,插件也会在播放界面的下方给出下载链接,方便感兴趣的访问者直接下载该文件。插件支持同时指定多个文件。插件的特色是对各种浏览器都支持的非常好,比如IE、Firefox、Opera。当然,这个庞大的功能自然会使用js文件。唉,我的Blog页面上载入的js文件又增多了。

因为wma文件是音频文件,播放时不需要画面的部分。我查了一下,微软的网站上说把高度指定为40就刚刚好。我发现插件对文件名的提取有点问题,我的文件名里有个减号,插件就只显示了减号后面的字符。解决的办法很简单,只要用<a hre f="url">歌曲名</a>就可以了,插件会自动从中提取出URL,并在播放界面下面显示出指定的歌曲名。

发现了一个小问题,插件在feed里也直接原样输出了,并没有为feed做特殊的处理。因为feed里没有载入相关的js和CSS,所以显示出错。Audio Player插件里就考虑到feed的问题,它的选项中可以选择在feed中这个部分用什么内容进行替换。

CoolCode网站的插件都喜欢“遵守XML规范”。他的插件总是用"<>"而不用"[]"来包围标签名,CoolCode插件就是个典型的例子。这样做导致了一个问题:由于这不是XHTML标准中的标签,所以WordPress自带的可视化编辑器TinyMCE不认识他们,于是就会把他们自动清除掉。我也不知道为什么文章内容非要“遵守XML规范”,我觉得只要最终输出到浏览器的html代码遵循xhtml规范就可以了,我写的插件都用"[]"。WordPress本身在把文章内容保存到数据库的时候会自动清除<p><br />标签,它也不在乎什么XML规范,只要最终输出的时候再转换回来就可以了。

研究了一下TinyMCE,发现它是定义了一个标签格式字符串,然后用字符串来匹配各个标签。打开/wp-includes/js/tinymce/tiny_mce_gzip.php文件,定位到122行,把下面的代码填到字符串的尾部。

,coolplayer[autoplay<true?false|loop<true?false|charset|height|width]

这样TinyMCE就可以识别<coolplayer>标签了。当然了,在可视化编辑器里无法看到最终的显示效果,不过现在TinyMCE已经认识这个标签了,不会再当作不认识的标签自动清除了。直接可视化编辑器里敲入<coolplayer width="640" height="480" charset="GBK" autoplay="false" loop="true"></coolplayer>,然后发布就可以了。

本文共有 14 条评论CoolPlayer——媒体播放插件


  1. 1 ZWQ

    XHTML是XML的子集,也是用特定DTD定义一套XML标签,cool*插件执着的遵守着一个"不存在"的规范

  2. 2 pute

    第122行打开后是空的。能否具体说明一下在哪些字符后呢?

  3. 3 yskin

    我用的是WordPress 2.0.4,可能和WordPress 2.1里的不一样。有个if ( current_user_can('unfiltered_html') ) $valid_elements = '...' else $valid_elements = '...'的结构,添加在第一个$valid_elements的字符串里。

  4. 4 lulu

    虽然按照你的方法加了一句话,但是coolplayer标签还是被清掉了。万不得已之下,拷了你的tiny_mce_gzip.php过去覆盖了下,就用起来了,希望你不要介意!

  5. 5 yskin

    GOD! tiny_mce_gzip.php是个PHP文件呀,你是咋拷的?难道黑了我的服务器?555~~

  6. 6 andot

    CoolPlayer 和 CoolCode 插件都支持 [] 标签,只是这个方括号标签在 tiny_mce 这个编辑器里也不是很好用的。

  7. 7 yskin

    嗯,嗯,果然是这样,可以用中括号[]。谢谢andot大大。

    中括号在TinyMCE里只是没有可视化而已,呃,也没啥坏处,不是吗?

    改天研究下TinyMCE,解决下显示的问题,hoho

  8. 8 andot

    不是没有可视化的问题,是标签里的回车会被改为 <br />,这样对于 Coolplayer 插入多个媒体就有问题了,CoolCode 插件也是这样,TinyMCE 会把标签里的代码都变成 HTML 格式的,这样子 CoolCode 就不能正确分析代码了。

  9. 9 yskin

    呃,貌似Coolplayer和CoolCode都是利用0级part_one和5000级的part_two做替换工作,避免了位于默认10级的wptexturize和wpautop的干扰。Coolplayer插件应该不会有问题,因为在part_one里,回车还没被替换成<br />呢。CoolCode插件就不行了,那么多代码,TinyMCE会给替换得乱七八糟的。

  10. 10 andot

    CoolPlayer 已经升级到 9.0 了,这个版本对 TinyMCE 支持的很好了。而且还增加了选项面板。还有相当多改进的地方。

  1. 1 搞定coolPlayer插件 « puppy blog
    Pingback2007-1-17 3:01 下午
  2. 2 乱塞网(luansay.cn)
    Trackback2007-3-24 6:50 上午
  3. 3 天若有情天亦老» Blog 存档 » 测试coolplayer
    Pingback2007-6-3 6:41 下午
  4. 4 大宇科技
    Trackback2007-9-14 5:44 上午

请留下您的评论: