Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[原创]全功能播放器+FLASH+歌词秀+全按扭 For 505 by Oytktk(靖飒)[版主安装测试通过]

[复制链接]
oytktk 发表于 2007-4-22 20:13:50 | 显示全部楼层 |阅读模式
本插件由版主sakurakawaii于07年5月2日23:19分
在Windows XP Discuz!5.5.0标准模版 IE6 Mysql4.1下测试安装无错
本测试仅代表此插件安装无错,不包括今后长期使用中可能出现的问题


[演示]:  http://bbs.bizhs.com/forumdisplay.php?fid=15

特此说明一下:

以前有很多凌凌乱乱的关于支持多媒体的插件,多了反而乱了...

所以我感觉,如果你要用到这个功能,
最好还是规范一下.


建议在安装这个插件之后把后台的多媒体代码关闭或删除!


这个插件集成了以下功能:

原创: oytktk(靖飒)


1. WMV和RM两在类别的音乐及影像文件播放;
2. 自定义播放器的大小,以及是否自动播放, 以及默认方式播放;
3. 含全屏按扭;
4. 支持了FLASH播放,并可自定义播放器的大小;
5. 加了所有功能的按扭;
6. 加入音乐文件的动态显示歌词功能;
7. 动态歌词中支持暂停滚动,快速向上和向下滚动;
8. 加入HIDE按扭, 并根据后台设定的权限决定是否显示此按扭;
9. 各个函数得到了部分优化;



include/discuzcode.func.php

查找:

  1. if(!$bbcodeoff) {
复制代码


改为:
  1. //======================
  2. if(!$bbcodeoff) {
复制代码


查找:

  1. for($i = 0; $i <= $discuzcodes['pcodecount']; $i++) {
复制代码


改为:

  1. //=======================
  2. for($i = 0; $i <= $discuzcodes['pcodecount']; $i++)
  3. {
复制代码
然后将两个
  1. //====================
复制代码


中间的内容改为:


  1.         if(!$bbcodeoff) {
  2.                 $message = preg_replace(array(
  3.                                         ($parsetype != 1 ? "/\[swf\]\s*([^\[\<\r\n]+?)\s*\[\/swf\]/ies" : "//"),
  4.                                         "/\[img\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ies",
  5.                                         "/\[img=(\d{1,4})[x|\,](\d{1,4})\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ies",
  6.                                         "/\[swf=(\d+?)[x|\,](\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/swf]/ies",
  7.                                         "/\[wmv\]\s*(.+?)\s*\[\/wmv\]/ies",
  8.                                         "/\[mp3\]\s*(.+?)\s*\[\/mp3\]/ies",
  9.                                         "/\[ron\]\s*(.+?)\s*\[\/ron\]/ies",
  10.                                         "/\[rm\]\s*(.+?)\s*\[\/rm\]/ies",
  11.                                         "/\[wmv=(\d+?)[x|\,](\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/wmv\]/ies",
  12.                                         "/\[rm=(\d+?)[x|\,](\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/rm\]/ies"
  13.                                 ), $allowimgcode ? array(
  14.                                         ($parsetype != 1 ? "bbcodeurl('\\1', ' <img src="images/attachicons/flash.gif" align="absmiddle" alt="" /> <a href="%s" target="_blank">Flash: %s</a> ')" : ""),
  15.                                         "bbcodeurl('\\1', '<img src="%s" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt=\'Click here to open new window\\nCTRL+Mouse wheel to zoom in/out\';}" onmouseover="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.style.cursor=\'hand\'; this.alt=\'Click here to open new window\\nCTRL+Mouse wheel to zoom in/out\';}" onclick="if(!this.resized) {return true;} else {window.open(\'%s\');}" onmousewheel="return imgzoom(this);" alt="" />')",
  16.                                         "bbcodeurl('\\3', '<img width="\\1" height="\\2" src="%s" border="0" alt="" />')",
  17.                                         "bbcodeurl('\\4', '<br><input type="button" name="mplayer" onclick="document.MediaPlayer.DisplaySize=3" value="全屏播放"> [ 双击退出全屏播放状态 ] <br><br><object align="middle" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="OBJECT" id="MediaPlayer" width="\\1" height="\\2" ><PARAM NAME="AutoStart" VALUE="0" ><param name="enableContextMenu" value="0"><param name="ShowStatusBar" value="\\3"><param name="Filename" value="%s"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" flename="mp" src="%s" width="\\1" height="\\2"></embed></object>')",
  18.                                         "bbcodeurl('\\1', '<object align="middle" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="OBJECT" id="MediaPlayer" width="360" height="68" ><PARAM NAME="AutoStart" VALUE="-1" ><param name="enableContextMenu" value="0"><param name="ShowStatusBar" value="-1"><param name="Filename" value="%s"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" flename="mp" src="%s" width="360" height="68"></embed></object>')",
  19.                                         "bbcodeurl('\\1', '<object align="middle" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="OBJECT" id="MediaPlayer" width="480" height="68" ><PARAM NAME="AutoStart" VALUE="-1" ><param name="enableContextMenu" value="0"><param name="ShowStatusBar" value="-1"><param name="Filename" value="%s"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" flename="mp" src="%s" width="480" height="68"></embed></object>')",
  20.                                         "bbcodeurl('\\1', '<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" id="Player" width="480" height="0" viewastext><param name="Autostart" value="-1"><param name="CONTROLS" value="ImageWindow"><param name="enableContextMenu" value="0"><param name="CONSOLE" value="_master"><param name="LOOP" value="-1"><param name="CENTER" value="0"></object><br><object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=64 id=Player width=480 VIEWASTEXT><param name="_ExtentX" value="18256"><param name="_ExtentY" value="794"><param name="Autostart" value="-1"><param name="LOOP" value="-1"><param name="CENTER" value="0"><param name="BACKGROUNDCOLOR" value="#000000"><param name="SRC" value="%s"></object>')",
  21.                                         "bbcodeurl('\\1', '<br><input type="button" name="rmplayer" onclick="document.rmplayer.SetFullScreen()" value="全屏播放"> [ 按ESC退出全屏播放状态 ] <br><br><object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" id="rmplayer" width="360" height="300" viewastext><param name="Autostart" value="0"><param name="CONTROLS" value="ImageWindow"><param name="enableContextMenu" value="0"><param name="CONSOLE" value="_master"><param name="LOOP" value="-1"><param name="CENTER" value="0"></object><br><object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=64 id=Player width=360 VIEWASTEXT><param name="_ExtentX" value="18256"><param name="_ExtentY" value="794"><param name="Autostart" value="0"><param name="LOOP" value="0"><param name="CENTER" value="0"><param name="BACKGROUNDCOLOR" value="#000000"><param name="SRC" value="%s"></object>')",
  22.                                         "bbcodeurl('\\4', '<br><input type="button" name="mplayer" onclick="document.MediaPlayer.DisplaySize=3" value="全屏播放"> [ 双击退出全屏播放状态 ] <br><br><object align="middle" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="OBJECT" id="MediaPlayer" width="\\1" height="\\2" ><PARAM NAME="AutoStart" VALUE="\\3" ><param name="ShowStatusBar" value="-1"><param name="enableContextMenu" value="0"><param name="Filename" value="%s"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" width="\\1" height="\\2"></embed></object>')",
  23.                                         "bbcodeurl('\\4', '<br><input type="button" name="rmplayer" onclick="document.rmplayer.SetFullScreen()" value="全屏播放"> [ 按ESC退出全屏播放状态 ] <br><br><object width="\\1" height="\\2" classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" id="rmplayer" viewastext><param name="Autostart" value="\\3"><param name="CONTROLS" value="ImageWindow"><param name="enableContextMenu" value="0"><param name="CONSOLE" value="_master"><param name="LOOP" value="-1"><param name="CENTER" value="0"></object><br><object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=64 id=Player width="\\1" VIEWASTEXT><param name="_ExtentX" value="18256"><param name="_ExtentY" value="794"><param name="Autostart" value="\\3"><param name="LOOP" value="-1"><param name="CENTER" value="0"><param name="SRC" value="%s"></object>')"
  24.                                 ) : array(
  25.                                         ($parsetype != 1 ? "bbcodeurl('\\1', ' <img src="images/attachicons/flash.gif" align="absmiddle" alt="" /> <a href="%s" target="_blank">Flash: %s</a> ')" : ""),
  26.                                         "bbcodeurl('\\1', '<a href="%s" target="_blank">%s</a>')",
  27.                                         "bbcodeurl('\\3', '<a href="%s" target="_blank">%s</a>')",
  28.                                         "bbcodeurl('\\1', '<a href="%s" target="_blank">%s</a>')",
  29.                                         "bbcodeurl('\\1', '<a href="%s" target="_blank">%s</a>')",
  30.                                         "bbcodeurl('\\1', '<object align="middle" classid="CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95" class="OBJECT" id="MediaPlayer" width="480" height="68" ><PARAM NAME="AutoStart" VALUE="-1" ><param name="enableContextMenu" value="0"><param name="ShowStatusBar" value="-1"><param name="Filename" value="%s"><embed type="application/x-oleobject" codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" flename="mp" src="%s" width="480" height="68"></embed></object>')",
  31.                                         "bbcodeurl('\\1', '<object classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA" id="Player" width="480" height="0" viewastext><param name="Autostart" value="-1"><param name="CONTROLS" value="ImageWindow"><param name="enableContextMenu" value="0"><param name="CONSOLE" value="_master"><param name="LOOP" value="-1"><param name="CENTER" value="0"></object><br><object classid=clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA height=64 id=Player width=480 VIEWASTEXT><param name="_ExtentX" value="18256"><param name="_ExtentY" value="794"><param name="Autostart" value="-1"><param name="LOOP" value="-1"><param name="CENTER" value="0"><param name="BACKGROUNDCOLOR" value="#000000"><param name="SRC" value="%s"></object>')",
  32.                                         "bbcodeurl('\\1', '<a href="%s" target="_blank">%s</a>')",
  33.                                         "bbcodeurl('\\4', '<a href="%s" target="_blank">%s</a>')",
  34.                                         "bbcodeurl('\\4', '<a href="%s" target="_blank">%s</a>')"
  35.                                 ), $message);
  36. }
复制代码


查找:

  1. function karmaimg($rate, $ratetimes) {
复制代码


上面加:


  1. function gcxdisp($code) {
  2. global $discuzcodes;
  3. $discuzcodes['pcodecount']++;
  4. $code = htmlspecialchars(str_replace('\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code)));
  5. $discuzcodes['codehtml'][$discuzcodes['pcodecount']] = "<table border="0" cellpadding="0" cellspacing="0" width="480" bgcolor="#000000"><tr><td rowspan="2" width="460"><marquee id="scrolltext" onmouseover=this.stop() onmouseout=this.start() TrueSpeed scrollamount=1 scrolldelay=200 width="100%" height="280" direction="up"><font style="font-size: 14pt" color=#FFFFFF><center>$code</center></FONT></marquee></td><td width="20" onmouseover="list3()" onmouseout="list4()" style="Cursor:hand"><font color=#FFFFFF><center>↑</center></font></td></tr><tr><td width="20" onmouseover="list1()" onmouseout="list2()" style="Cursor:hand"><font color=#FFFFFF><center>↓</center></font></td></tr></table>";
  6. $discuzcodes['codecount']++;
  7. return "[\tDISCUZ_CODE_$discuzcodes[pcodecount]\t]";
  8. }
复制代码


查找:

  1. $message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies", "codedisp('\\1')", $message);
复制代码


回车, 下面加:

  1. $message = preg_replace("/\s*\[gcx\](.+?)\[\/gcx\]\s*/ies", "gcxdisp('\\1')", $message);
复制代码


2. 文件 include/javascript/editor.js

查找:
  1. } else if(!wysiwyg && cmd == 'outdent') {
复制代码
在上面加:
  1. }else if(cmd == 'hkvod'){
  2.    var hkvod_t = prompt(lang['enter_hk_meida_url'], 'http://')
  3.    var hkvod_1 = prompt(lang['enter_hk_media_input1'], '360')
  4.    var hkvod_2 = prompt(lang['enter_hk_media_input2'], '300')
  5.    var hkvod_3 = prompt(lang['enter_hk_media_input3'], '0')
  6.    var opentag = '[wmv=' + hkvod_1 + ',' + hkvod_2 +  ',' + hkvod_3 + ']' + hkvod_t;
  7.    var closetag = '[/wmv]';
  8.    insertText(opentag + closetag, opentag.length, closetag.length);
  9. }else if(cmd == 'hkrmv'){
  10.    var hkrmv_t = prompt(lang['enter_hk_meida_url'], 'http://')
  11.    var hkrmv_1 = prompt(lang['enter_hk_media_input1'], '360')
  12.    var hkrmv_2 = prompt(lang['enter_hk_media_input2'], '300')
  13.    var hkrmv_3 = prompt(lang['enter_hk_media_input3'], '0')
  14.    var opentag = '[rm=' + hkrmv_1 + ',' + hkrmv_2 +  ',' + hkrmv_3 + ']' + hkrmv_t;
  15.    var closetag = '[/rm]';
  16.    insertText(opentag + closetag, opentag.length, closetag.length);
  17. }else if(cmd == 'hkrmv'){
  18.    var hkrmv_t = prompt(lang['enter_hk_meida_url'], 'http://')
  19.    var hkrmv_1 = prompt(lang['enter_hk_media_input1'], '360')
  20.    var hkrmv_2 = prompt(lang['enter_hk_media_input2'], '300')
  21.    var hkrmv_3 = prompt(lang['enter_hk_media_input3'], '0')
  22.    var opentag = '[rm=' + hkrmv_1 + ', ' + hkrmv_2 +  ', ' + hkrmv_3 + ']' + hkrmv_t;
  23.    var closetag = '[/rm]';
  24.    insertText(opentag + closetag, opentag.length, closetag.length);
  25. }else if(cmd == 'hkmp3'){
  26.    var hkmp3_t = prompt(lang['enter_hk_meida_url'], 'http://')
  27.    var opentag = '\n[gcx]' + lang['enter_hk_gcx'];
  28.    var closetag = '[/gcx][mp3]' + hkmp3_t + '[/mp3]';
  29.    insertText(opentag + closetag, opentag.length, closetag.length);
  30. }else if(cmd == 'hkron'){
  31.    var hkmp3_t = prompt(lang['enter_hk_meida_url'], 'http://')
  32.    var opentag = '\n[gcx]' + lang['enter_hk_gcx'];
  33.    var closetag = '[/gcx][ron]' + hkmp3_t + '[/ron]';
  34.    insertText(opentag + closetag, opentag.length, closetag.length);
  35. }else if(cmd == 'hkswf'){
  36.    var hkmp3_t = prompt(lang['enter_hk_meida_url'], 'http://')
  37.    var hkmp3_1 = prompt(lang['enter_hk_media_input1'], '360')
  38.    var hkmp3_2 = prompt(lang['enter_hk_media_input2'], '300')
  39.    var hkmp3_3 = prompt(lang['enter_hk_media_input3'], '0')
  40.    var opentag = '[swf=' + hkmp3_1 + ',' + hkmp3_2 +  ',' + hkmp3_3 + ']' + hkmp3_t;
  41.    var closetag = '[/swf]';
  42.    insertText(opentag + closetag, opentag.length, closetag.length);
复制代码


3. include/javascript/common.js

文章的最下面加入:
  1. function list1(){
  2. scrolltext.scrollDelay=50;
  3. scrolltext.scrollAmount=2;
  4. scrolltext.direction="up";
  5. }
  6. function list2(){
  7. scrolltext.scrollDelay=220;
  8. scrolltext.scrollAmount=1;
  9. scrolltext.direction="up";
  10. }
  11. function list3(){
  12. scrolltext.scrollDelay=50;
  13. scrolltext.scrollAmount=2;
  14. scrolltext.direction="down";
  15. }
  16. function list4(){
  17. scrolltext.scrollDelay=220;
  18. scrolltext.scrollAmount=1;
  19. scrolltext.direction="up";
  20. }
复制代码


4. templates\default\templates.lang.php

查找:
  1. 'post_discuzcode_expand' => '扩展编辑框',
复制代码
加车之后加入:
  1. 'post_discuzcode_hkvod' => '插入 WMV 类型影像文件',
  2. 'post_discuzcode_hkrmv' => '插入 RM 类型影像文件',
  3. 'post_discuzcode_hkmp3' => '为一个 MP3 类型的音乐加入动态歌词功能',
  4. 'post_discuzcode_hkron' => '为一个 RM 类型的音乐加入动态歌词功能',
  5. 'post_discuzcode_hkswf' => '插入一个FLASH影像文件',
  6. 'post_discuzcode_gcx' => '\r在这里替换为滚动显示的歌词\r',
  7. 'post_discuzcode_meida_url' => '请输入影像文件的地址(URL):',
  8. 'post_discuzcode_media_input1' => '插入影像文件的宽度,推荐360-480',
  9. 'post_discuzcode_media_input2' => '插入影像文件的高度,推荐300-360',
  10. 'post_discuzcode_media_input3' => '是否让插入的影像文件自动播放,1=自动播放、0=手动播放',
复制代码


5.templates\default\post_bbinsert.htm

查找:
  1. lang['enter_link_url']
复制代码
上面加:
  1.   lang['enter_hk_meida_url']    = "{lang post_discuzcode_meida_url}";
  2.   lang['enter_hk_gcx']     = "{lang post_discuzcode_gcx}";
  3.   lang['enter_hk_media_input1']   = "{lang post_discuzcode_media_input1}";
  4.   lang['enter_hk_media_input2']   = "{lang post_discuzcode_media_input2}";
  5.   lang['enter_hk_media_input3']   = "{lang post_discuzcode_media_input3}";
  6.   
复制代码
查找最后一个:
  1. <td><img src="images/common/bb_separator.gif" width="6" height="20" alt="" /></td>
复制代码
下面加:
  1. <td><div class="editor_buttonnormal" id="{$editorid}_cmd_vod" onclick="discuzcode('hkvod')" onMouseOver="buttonContext(this, 'mouseover')" onMouseOut="buttonContext(this, 'mouseout')"><img src="images/common/hk_vod.gif" width="21" height="20" title="{lang post_discuzcode_hkvod}" alt="{lang post_discuzcode_hkvod}" /></div></td>
  2. <td><div class="editor_buttonnormal" id="{$editorid}_cmd_rmv" onclick="discuzcode('hkrmv')" onMouseOver="buttonContext(this, 'mouseover')" onMouseOut="buttonContext(this, 'mouseout')"><img src="images/common/hk_rmv.gif" width="21" height="20" title="{lang post_discuzcode_hkrmv}" alt="{lang post_discuzcode_hkrmv}" /></div></td>
  3. <td><div class="editor_buttonnormal" id="{$editorid}_cmd_mp3" onclick="discuzcode('hkmp3')" onMouseOver="buttonContext(this, 'mouseover')" onMouseOut="buttonContext(this, 'mouseout')"><img src="images/common/hk_mp3.gif" width="21" height="20" title="{lang post_discuzcode_hkmp3}" alt="{lang post_discuzcode_hkmp3}" /></div></td>
  4. <td><div class="editor_buttonnormal" id="{$editorid}_cmd_ron" onclick="discuzcode('hkron')" onMouseOver="buttonContext(this, 'mouseover')" onMouseOut="buttonContext(this, 'mouseout')"><img src="images/common/hk_ron.gif" width="21" height="20" title="{lang post_discuzcode_hkron}" alt="{lang post_discuzcode_hkron}" /></div></td>
  5. <td><div class="editor_buttonnormal" id="{$editorid}_cmd_swf" onclick="discuzcode('hkswf')" onMouseOver="buttonContext(this, 'mouseover')" onMouseOut="buttonContext(this, 'mouseout')"><img src="images/common/hk_swf.gif" width="21" height="20" title="{lang post_discuzcode_hkswf}" alt="{lang post_discuzcode_hkswf}" /></div></td>
复制代码


上传5个图片文件到 IMAGES/COMMON/目录下.

[ 本帖最后由 oytktk 于 2007-8-24 09:05 编辑 ]

评分

7

查看全部评分

Flash菲 发表于 2007-4-22 20:17:39 | 显示全部楼层
沙发先.........
回复

使用道具 举报

Flash菲 发表于 2007-4-22 20:17:55 | 显示全部楼层
顺便问问支持FF么
回复

使用道具 举报

Flash菲 发表于 2007-4-22 20:18:12 | 显示全部楼层
如果不支持FF有完善的解决方案么?????
回复

使用道具 举报

Flash菲 发表于 2007-4-22 20:19:50 | 显示全部楼层
看代码好像应该支持FF的..不错哦.
回复

使用道具 举报

 楼主| oytktk 发表于 2007-4-22 20:20:07 | 显示全部楼层
原帖由 Flash菲 于 2007-4-22 20:18 发表
如果不支持FF有完善的解决方案么?????



什么FF,是浏览器吗?
JAVASCRIPT 应该都是支持的吧?~
回复

使用道具 举报

eivll 发表于 2007-4-22 20:22:09 | 显示全部楼层
前排支持!!!!!!!!!!!
回复

使用道具 举报

xckx 发表于 2007-4-22 20:25:50 | 显示全部楼层
战位支持
回复

使用道具 举报

BT一族 发表于 2007-4-22 20:26:08 | 显示全部楼层
等死我了~~~~~~~~~~~~
回复

使用道具 举报

Flash菲 发表于 2007-4-22 20:26:18 | 显示全部楼层
原帖由 oytktk 于 2007-4-22 20:20 发表



什么FF,是浏览器吗?
JAVASCRIPT 应该都是支持的吧?~


firefox浏览器..火狐...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-15 16:23 , Processed in 0.044152 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表