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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[插件] 播放器+FLASH+歌词秀+全按扭(HIDE) For Discuz! 5.0.0 by oytktk!(9月9日更新)

[复制链接]
epin 发表于 2006-8-9 16:54:17 | 显示全部楼层 |阅读模式
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
注:做了我认为最简单的、也是能力范围内的小修改,
所以方便上大不如从前,还是等高手再改吧!

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

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

第一步:

include/discuzcode.func.php修改开始

查找:

  1. if(!$bbcodeoff) {
  2.                 if(empty($discuzcodes['searcharray']['imgcode'])) {
  3.                         $discuzcodes['searcharray']['imgcode'] = array(
  4.                                 "/\[swf\]\s*([^\[\<\r\n]+?)\s*\[\/swf\]/ies",
  5.                                 "/\[img\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ies",
  6.                                 "/\[img=(\d{1,3})[x|\,](\d{1,3})\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ies"
  7.                         );

  8.                         $discuzcodes['replacearray']['imgcode'] = $allowimgcode ? array(
  9.                                 "bbcodeurl('\\1', ' <img src="images/attachicons/flash.gif" align="absmiddle" alt="" /> <a href="%s" target="_blank">Flash: %s</a> ')",
  10.                                 "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="" />')",
  11.                                 "bbcodeurl('\\3', '<img width="\\1" height="\\2" src="%s" border="0" alt="" />')"
  12.                         ) : array(
  13.                                 "bbcodeurl('\\1', ' <img src="images/attachicons/flash.gif" align="absmiddle" alt="" /> <a href="%s" target="_blank">Flash: %s</a> ')",
  14.                                 "bbcodeurl('\\1', '<a href="%s" target="_blank">%s</a>')",
  15.                                 "bbcodeurl('\\3', '<a href="%s" target="_blank">%s</a>')"
  16.                         );
  17.                 }
  18.                 $message = preg_replace($discuzcodes['searcharray']['imgcode'], $discuzcodes['replacearray']['imgcode'], $message);
  19.         }
复制代码


整段替换为:

  1. if(!$bbcodeoff && $allowimgcode) {
  2.                 if(empty($discuzcodes['searcharray']['imgcode'])) {
  3.                         $discuzcodes['searcharray']['imgcode'] = array(
  4.                                 "/\[swf\]\s*([^\[]+?)\s*\[\/swf\]/ies",
  5.                                 "/\[img\]\s*([^\[]+?)\s*\[\/img\]/ies",
  6.                                 "/\[swf=(\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.                                 "/\[img=(\d{1,3})[x|\,](\d{1,3})\]\s*([^\[]+?)\s*\[\/img\]/ies"
  14.                         );
  15.                         $discuzcodes['replacearray']['imgcode'] = array(
  16.                                 "bbcodeurl('\\1', '<a href="%s" target="_blank"><u>※单击鼠标在新窗口中打开※</u></a><br><br><embed width="360" height="300" src="%s" type="application/x-shockwave-flash"></embed>')",
  17.                                 "bbcodeurl('\\1', '<br><img src="%s" border="0" onload="if(this.width>screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt=\'单击这里开新视窗查看\\n按住CTRL,并滚动鼠标滚轮缩放图片大小\';}" onmouseover="if(this.resized) this.style.cursor=\'hand\';" onclick="if(!this.resized) {return true;} else {window.open(\'%s\');}" onmousewheel="return imgzoom(this);">')",
  18.                                 "bbcodeurl('\\3', '<a href="%s" target="_blank"><u>※单击鼠标在新窗口中打开※</u></a><br><br><embed width="\\1" height="\\2" src="%s" type="application/x-shockwave-flash"></embed>')",
  19.                                 "bbcodeurl('\\1', '<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="360" height="300" ><PARAM NAME="AutoStart" VALUE="0" ><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="300"></embed></object>')",
  20.                                 "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>')",
  21.                                 "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>')",
  22.                                 "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>')",
  23.                                 "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>')",
  24.                                 "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>')",
  25.                                 "bbcodeurl('\\3', '<img width="\\1" height="\\2" src="%s" border="0">')"
  26.                         );
  27.                 }
  28.                 $message = preg_replace($discuzcodes['searcharray']['imgcode'], $discuzcodes['replacearray']['imgcode'], $message);
  29.         }
复制代码


查找:

  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" style="border-collapse: collapse" width="480" bgcolor="#000000"><tr><td rowspan="2"><marquee id="scrolltext" onmouseover=this.stop() onmouseout=this.start() TrueSpeed scrollamount=1 scrolldelay=200 width="455" height="280" direction="up"><font style="font-size: 14pt" color=#FFFFFF><center>$code</center></FONT></marquee></td><td width="30" onmouseover="list3()" onmouseout="list4()" style="Cursor:hand"><font color=#FFFFFF><center>↑</center></font></td></tr><tr><td width="30" 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);
复制代码


include/discuzcode.func.php修改结束

注:安装过老O播放器的兄弟们,安装到这里,以前的多媒体文件已经可以正常播放了!

第二步:
从后台DISCUZ!代码里插入按钮!


wmv   bb_wmv.gif
rm   bb_rm.gif
gcx  bb_wma.gif


例子:[wmv=480,360,1]http://www.abc.com/abc.wmv[/wmv]
解释:插入 WMV 类型影像文件,其类型包括:wmv,wma,mp3,mid,mp,swf……


例子:[rm=480,360,1]http://www.abc.com/abc.wmv[/rm]
解释:插入 RM 类型影像文件,其类型包括:rm,rmvb,ra,ram……


例子:[gcx]在这里插入滚动显示的歌词[/gcx]
解释:插入滚动显示的歌词

注:播放器和歌词秀按钮都做好了,不放心可以去我的小坛子上测试先。
有问题请多多指正!

续第二步:
添加FLASH、HIDE按钮!



fla   bb_flash.gif
hhde   bb_hide.gif
(注:标签名必须更改,避免和程序文件冲突!)


例子: Flash: http://www.abc.com/abc.swf
解释:插入FLASH


例子:见上图(写出来就会说我没有设置隐藏的权限)
解释:设置回复可见


差点忘了,还有几个小图标,
放到images/common/

[ 本帖最后由 epin 于 2006-9-10 10:41 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
 楼主| epin 发表于 2006-8-9 17:12:06 | 显示全部楼层
占个沙发,
顺便说一下,
高手大虾,你要做的是帮俺改改,鼓励鼓励俺,而不要笑话俺!!
回复

使用道具 举报

david1105 发表于 2006-8-9 17:13:00 | 显示全部楼层
好东西,沙发啊!
回复

使用道具 举报

tianye1990 发表于 2006-8-9 17:54:40 | 显示全部楼层
板凳
回复

使用道具 举报

凱子 发表于 2006-8-9 17:55:20 | 显示全部楼层
第一页留名
回复

使用道具 举报

ghjp 发表于 2006-8-9 19:35:53 | 显示全部楼层
简单可靠。
就是功能少点,
期待高手继续改进
回复

使用道具 举报

折翼の天使♂ 发表于 2006-8-9 20:46:09 | 显示全部楼层
...DZ.5.0???
回复

使用道具 举报

sxkent 发表于 2006-8-9 20:54:47 | 显示全部楼层
终于等到了
回复

使用道具 举报

zhylsy99 发表于 2006-8-9 20:58:47 | 显示全部楼层
d
回复

使用道具 举报

摇摆 发表于 2006-8-9 21:46:44 | 显示全部楼层
注:安装过老O播放器的兄弟们,安装到这里,以前的多媒体文件已经可以正常播放了!
\
是否以前安装过的就不用再进行 第2步了?
回复

使用道具 举报

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

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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