简单人生
幻想指点江山,梦中激扬文字

如今supesite的市场占有率随着discuz的市场占有率提高而增大了不少,他方便了很多做站的人员,毕竟只需要把论坛的数据提取出来就是一个网站了。确实方便了不少做垃圾站的朋友。

不过,还是有很多正规做站的朋友们也在使用它,主要还是因为他自带了很多有用的功能,所以才能够这么吸引人。

让很多个人站长无奈的是,SUPESITE的编辑器非常恶心,功能也不算强大,但却不得不用。比如无法为自己的页面添加音乐啥的(当然,你也许会说,它的编辑器不是允许插入WM和RM的播放器的吗?可是这并不能让我满意。)

在看到WP有flash的MP3播放插件时,不禁让我想到了将他挖出来做成SS编辑器的插件,经过调试,基本可行。

1、下载播放器插件的压缩包并解压

2、修改audio-player.js,加上部分内容,使之内容为:

JavaScript代码
  1. var ap_instances = new Array();   
  2.   
  3. function ap_stopAll(playerID) {   
  4.     for(var i = 0;i<ap_instances.length;i++) {   
  5.         try {   
  6.             if(ap_instances[i] != playerID) document.getElementById("audioplayer" + ap_instances[i].toString()).SetVariable("closePlayer", 1);   
  7.             else document.getElementById("audioplayer" + ap_instances[i].toString()).SetVariable("closePlayer", 0);   
  8.         } catch( errorObject ) {   
  9.             // stop any errors   
  10.         }   
  11.     }   
  12. }   
  13.   
  14. function ap_registerPlayers() {   
  15.     var objectID;   
  16.     var objectTags = document.getElementsByTagName("object");   
  17.     for(var i=0;i<objectTags.length;i++) {   
  18.         objectID = objectTags[i].id;   
  19.         if(objectID.indexOf("audioplayer") == 0) {   
  20.             ap_instances[i] = objectID.substring(11, objectID.length);   
  21.         }   
  22.     }   
  23. }   
  24.   
  25. var ap_clearID = setInterval( ap_registerPlayers, 100 );   
  26.   
  27. function get_audioplayer( flashfile , flashvars ){   
  28.     if(arguments.length != 2){   
  29.         alert('对不起,函数需要接受两个参数');   
  30.     }   
  31.     if ( (typeof flashvars != 'object' )|| (typeof flashvars.soundFile == 'undefined') ){   
  32.         alert('第二个参数必须是一个对象,而且该对象必须有soundFile的属性');   
  33.     }   
  34.     var flash_vars = '';   
  35.     var flashobject = "<object type='application/x-shockwave-flash' data='" + flashfile+ "' id='audioplayer1' height='24' width='290'>";   
  36.     flashobject += "<param name='movie' value='" + flashfile+ "'>";   
  37.     flashobject += "<param name='FlashVars' value='";   
  38.     iftypeof flashvars.playerID == 'undefined'){  
  39.         flashvars.playerID = 1;  
  40.     }  
  41.     for (var var_name in flashvars){  
  42.         flash_vars += var_name + "=" + flashvars[var_name] + "&";  
  43.     }  
  44.     flashobject += flash_vars + "'>";   
  45.     flashobject += "<param name='quality' value='high'>";   
  46.     flashobject += "<param name='menu' value='false'>";   
  47.     flashobject += "<param name='wmode' value='transparent'>";   
  48.     flashobject += "</object>";   
  49.     return flashobject;   
  50. }   
  51. function set_audioplayer(flashfile , flashvars ,  elem ){   
  52.     flashobject = get_audioplayer(flashfile , flashvars);   
  53.     if ( typeof elem == 'undefined'){   
  54.         document.write( flashobject );   
  55.     }else{   
  56.         document.getElementById(elem).innerHTML = flashobject ;   
  57.     //  document.getElementById(elem).innerText = flashobject ;   
  58.     }   
  59. }  

3、在SS的编辑器里,选中“源代码”,在编辑框里输入:

XML/HTML代码
  1. <div id='audio_file' style="display:none">aaa.mp3</div>  

当你取消选择源代码时,上面的内容已经变为

XML/HTML代码
  1. <DIV id=audio_file style="DISPLAY:none">aaa.mp3</DIV>  

很多东西都变掉了。。。。不过没关系

4、在内容页的模版里加载刚才的JS

XML/HTML代码
  1. <script src='./xxx/xxx/audio-player.js'></script>  
  2. <script>  
  3. try   
  4. {   
  5.     var audio = document.getElementById('audio_file');   
  6.     if(audio.innerText != ''){   
  7.         var audio_flash = './player.swf';   
  8.         var audio_vars = {};   
  9.         audio_vars.soundFile = audio.innerText;   
  10.         audio_vars.loop = 'yes';   
  11.         audio_vars.autostart = 'yes';   
  12.         set_audioplayer( audio_flash , audio_vars );   
  13.     }   
  14. }   
  15. catch (e){}   
  16. </script>  

现在看看,是不是你的歌曲出来了?

下面说明一下FLASH文件的下载地址:

http://www.1pixelout.net/download/audio-player.zip

上面这个地址是下载源码包的,如果想知道怎么样更好的配置播放器,也就是说为audio_vars增加更多的属性,你可以参考这个网站:

http://www.macloo.com/examples/audio_player/,然后,几乎所有的属性都可以从这页得到:

http://www.macloo.com/examples/audio_player/options.html

祝福大家使用愉快


文章来源:http://www.neatcn.com\/?action=show&id=89
posted on 2008-05-06 14:40 简单人生 阅读(144) 评论(0)  编辑 收藏 引用
只有注册用户登录后才能发表评论。