Discuz! Sponsored Customer
  
- 帖子
- 5890
- 积分
- 17518
- 威望
- 1122
- 金币
- 244 个
- 体力
- 5694
- 注册时间
- 2004-1-31
|

[最终版]全功能播放器+歌词秀+按扭 For D6正式版 By Oytktk(靖飒) 9-05更新
//09-05日更新了第七步, 凡是 09-05 , 18:42 时间以后安装的不需更新, 更新内容请见二楼
[演示]: http://bbs.bizhs.com/forumdisplay.php?fid=15特此说明一下:
以前有很多凌凌乱乱的关于支持多媒体的插件,多了反而乱了...
所以我感觉,如果你要用到这个功能,
最好还是规范一下.
建议在安装这个插件之后把后台的多媒体代码关闭或删除!
本次最终版做了大副的修改动作, 也修改了N个以前存在的BUG:
比如, 同一个页面有多个播放器的时候, 无法全屏...
PS. 如果不是GBK版的用户, 请你把include/discuzcode.func.php这个文件中修改的中文改为英文就OK了..
这个插件集成了以下功能:
原创: oytktk(靖飒)1. WMV和RM两在类别的音乐及影像文件播放;
2. 自定义播放器的大小,以及是否自动播放, 以及默认方式播放;
3. 含全屏按扭,最终版解决了一个页面多个播放器无法使用全屏功能的BUG;
4. 支持了FLASH播放,并可自定义播放器的大小;
5. 加了所有功能的按扭;
6. 加入音乐文件的动态显示歌词功能;
7. 动态歌词中支持暂停滚动,快速向上和向下滚动;
8. 各个函数得到了部分优化; 安装方法:
================================================================
````````````````````````````````````````````````````````````````
1. include/discuzcode.func.php
查找:改为:- //===========Start ----正式版 全功能播放器 MP3,WMV,WMA,RM,RMVB,FLASH,AVI...加入动态歌词 Oytktk(靖飒)
- if(!$bbcodeoff) {
复制代码 再找:- for($i = 0; $i <= $discuzcodes['pcodecount']; $i++) {
复制代码 改为:- //===========End ----正式版 全功能播放器 MP3,WMV,WMA,RM,RMVB,FLASH,AVI...加入动态歌词 Oytktk(靖飒)
- for($i = 0; $i <= $discuzcodes['pcodecount']; $i++) {
复制代码 将上面改好的两个//===========之间的内容替换成: if(!$bbcodeoff) {
$message = preg_replace(array(
($parsetype != 1 ? "/\[swf\]\s*([^\[\<\r\n]+?)\s*\[\/swf\]/ies" : "//"),
"/\[img\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ies",
"/\[img=(\d{1,4})[x|\,](\d{1,4})\]\s*([^\[\<\r\n]+?)\s*\[\/img\]/ies",
"/\[swf=(\d{1,4})[x|\,](\d{1,4})\]\s*([^\[\<\r\n]+?)\s*\[\/swf]/ies",
"/\[swf=(\d+?)[x|\,](\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/swf]/ies",
"/\[wmv\]\s*([^\[\<\r\n]+?)\s*\[\/wmv\]/ies",
"/\[mp3\]\s*([^\[\<\r\n]+?)\s*\[\/mp3\]/ies",
"/\[ron\]\s*([^\[\<\r\n]+?)\s*\[\/ron\]/ies",
"/\[rm\]\s*([^\[\<\r\n]+?)\s*\[\/rm\]/ies",
"/\[wmv=(\d+?)[x|\,](\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/wmv\]/ies",
"/\[rm=(\d+?)[x|\,](\d+?)[x|\,](\d+?)\]\s*(.+?)\s*\[\/rm\]/ies"
), $allowimgcode ? array(
($parsetype != 1 ? "bbcodeurl('\\1', ' <img src=\"images/attachicons/flash.gif\" align=\"absmiddle\" alt=\"\" /> <a href=\"%s\" target=\"_blank\">Click This For Fullscreen Preview: </a> <br><br><embed width=\"460\" height=\"350\" src=\"%s\" type=\"application/x-shockwave-flash\"></embed>')" : ""),
"bbcodeurl('\\1', '<img src=\"%s\" border=\"0\" onclick=\"zoom(this)\" onload=\"attachimg(this, \'load\')\" alt=\"\" />')",
"bbcodeurl('\\3', '<img width=\"\\1\" height=\"\\2\" src=\"%s\" border=\"0\" alt=\"\" />')",
"bbcodeurl('\\3', ' <img src=\"images/attachicons/flash.gif\" align=\"absmiddle\" alt=\"\" /> <a href=\"%s\" target=\"_blank\">Click This For Fullscreen Preview: </a> <br><br><embed id=\"\\3\" width=\"\\1\" height=\"\\2\" src=\"%s\" type=\"application/x-shockwave-flash\"></embed>')",
"bbcodeurl('\\4', ' <img src=\"images/attachicons/flash.gif\" align=\"absmiddle\" alt=\"\" /> <a href=\"%s\" target=\"_blank\">Click This For Fullscreen Preview: </a> <br><br><embed id=\"\\3\" width=\"\\1\" height=\"\\2\" src=\"%s\" type=\"application/x-shockwave-flash\"></embed>')",
"bbcodeurl('\\1', ' <a href=\"###\" onclick=\"tkmplayer.DisplaySize=3;\"><b>[全屏播放媒体]</b></a> ...退出全屏按 ESC 键<br><object align=\"middle\" classid=\"CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95\" class=\"OBJECT\" id=\"tkmplayer\" width=\"460\" height=\"350\"><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=\"460\" height=\"350\"></embed></object>')",
"bbcodeurl('\\1', '<object align=\"middle\" classid=\"CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95\" class=\"OBJECT\" id=\"tkmplayer\" width=\"460\" 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=\"460\" height=\"68\"></embed></object>')",
"bbcodeurl('\\1', '<object classid=\"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA\" id=\"tkrplayer\" width=\"460\" 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\" width=\"460\" 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>')",
"bbcodeurl('\\1', ' <a href=\"###\" onclick=\"tkrplayer.SetFullScreen();\"><b>[全屏播放媒体]</b></a> ...退出全屏按 ESC 键<br><object classid=\"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA\" id=\"tkrplayer\" width=\"460\" height=\"300\" 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\" width=\"460\" 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>')",
"bbcodeurl('\\4', ' <a href=\"###\" onclick=\"tkmplayer.DisplaySize=3;\"><b>[全屏播放媒体]</b></a> ...退出全屏按 ESC 键<br><object align=\"middle\" classid=\"CLSID:22d6f312-b0f6-11d0-94ab-0080c74c7e95\" class=\"OBJECT\" id=\"tkmplayer\" width=\"\\1\" height=\"\\2\"><PARAM NAME=\"AutoStart\" VALUE=\"\\3\" ><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=\"\\1\" height=\"\\2\"></embed></object>')",
"bbcodeurl('\\4', ' <a href=\"###\" onclick=\"tkrplayer.SetFullScreen();\"><b>[全屏播放媒体]</b></a> ...退出全屏按 ESC 键<br><object classid=\"clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA\" id=\"tkrplayer\" width=\"\\1\" height=\"\\2\" 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\" 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=\"Backgroundcolor\" value=\"#000000\"><param name=\"src\" value=\"%s\"></object>')"
) : array(
($parsetype != 1 ? "bbcodeurl('\\1', ' <img src=\"images/attachicons/flash.gif\" align=\"absmiddle\" alt=\"\" /> <a href=\"%s\" target=\"_blank\">Flash: %s</a> ')" : ""),
"bbcodeurl('\\1', '<a href=\"%s\" target=\"_blank\">%s</a>')",
"bbcodeurl('\\3', '<a href=\"%s\" target=\"_blank\">%s</a>')",
"bbcodeurl('\\3', ' <img src=\"images/attachicons/flash.gif\" align=\"absmiddle\" alt=\"\" /> <a href=\"%s\" target=\"_blank\">Flash: %s</a> ')",
"bbcodeurl('\\4', ' <img src=\"images/attachicons/flash.gif\" align=\"absmiddle\" alt=\"\" /> <a href=\"%s\" target=\"_blank\">Flash: %s</a> ')",
"bbcodeurl('\\1', '<a href=\"%s\" target=\"_blank\">%s</a>')",
"bbcodeurl('\\1', '<a href=\"%s\" target=\"_blank\">%s</a>')",
"bbcodeurl('\\1', '<a href=\"%s\" target=\"_blank\">%s</a>')",
"bbcodeurl('\\1', '<a href=\"%s\" target=\"_blank\">%s</a>')",
"bbcodeurl('\\4', '<a href=\"%s\" target=\"_blank\">%s</a>')",
"bbcodeurl('\\4', '<a href=\"%s\" target=\"_blank\">%s</a>')"
), $message);
} 查找:- function karmaimg($rate, $ratetimes) {
复制代码 上面加:- //===========Start ----正式版 全功能播放器 MP3,WMV,WMA,RM,RMVB,FLASH,AVI...加入动态歌词 Oytktk(靖飒)
- function gcxdisp($code) {
- global $discuzcodes;
- $discuzcodes['pcodecount']++;
- $code = htmlspecialchars(str_replace('\\"', '"', preg_replace("/^[\n\r]*(.+?)[\n\r]*$/is", "\\1", $code)));
- $discuzcodes['codehtml'][$discuzcodes['pcodecount']] = tpl_gcxdisp($discuzcodes, $code);;
- $discuzcodes['codecount']++;
- return "[\tDISCUZ_CODE_$discuzcodes[pcodecount]\t]";
- }
- //===========End ----正式版 全功能播放器 MP3,WMV,WMA,RM,RMVB,FLASH,AVI...加入动态歌词 Oytktk(靖飒)
复制代码 再找:- $message = preg_replace("/\s*\[code\](.+?)\[\/code\]\s*/ies", "codedisp('\\1')", $message);
复制代码 下面加:- $message = preg_replace("/\s*\[gcx\](.+?)\[\/gcx\]\s*/ies", "gcxdisp('\\1')", $message);
复制代码 查找:- return str_replace(array('submit', 'logging.php'), array('', ''), sprintf($tags, $url, addslashes($url)));
复制代码 上面加:- global $kcodes;
- $kcodes++;
- $tags = str_replace(array('tkrplayer', 'tkmplayer'), array('tkrplayer_'.$kcodes, 'tkmplayer_'.$kcodes), $tags);
复制代码 2. include/javascript/editor.js
查找:- } else if(!wysiwyg && cmd == 'outdent') {
复制代码 上面加://===========Start ----正式版 全功能播放器 MP3,WMV,WMA,RM,RMVB,FLASH,AVI...加入动态歌词 Oytktk(靖飒)
}else if(cmd == 'hkvod'){
var hkvod_t = prompt(lang['enter_hk_meida_url'], 'http://')
var hkvod_1 = prompt(lang['enter_hk_media_input1'], '460')
var hkvod_2 = prompt(lang['enter_hk_media_input2'], '350')
var hkvod_3 = prompt(lang['enter_hk_media_input3'], '1')
var opentag = '[wmv=' + hkvod_1 + ',' + hkvod_2 + ',' + hkvod_3 + ']' + hkvod_t;
var closetag = '[/wmv]';
insertText(opentag + closetag, opentag.length, closetag.length);
}else if(cmd == 'hkrmv'){
var hkrmv_t = prompt(lang['enter_hk_meida_url'], 'http://')
var hkrmv_1 = prompt(lang['enter_hk_media_input1'], '460')
var hkrmv_2 = prompt(lang['enter_hk_media_input2'], '350')
var hkrmv_3 = prompt(lang['enter_hk_media_input3'], '1')
var opentag = '[rm=' + hkrmv_1 + ',' + hkrmv_2 + ',' + hkrmv_3 + ']' + hkrmv_t;
var closetag = '[/rm]';
insertText(opentag + closetag, opentag.length, closetag.length);
}else if(cmd == 'hkrmv'){
var hkrmv_t = prompt(lang['enter_hk_meida_url'], 'http://')
var hkrmv_1 = prompt(lang['enter_hk_media_input1'], '460')
var hkrmv_2 = prompt(lang['enter_hk_media_input2'], '350')
var hkrmv_3 = prompt(lang['enter_hk_media_input3'], '1')
var opentag = '[rm=' + hkrmv_1 + ', ' + hkrmv_2 + ', ' + hkrmv_3 + ']' + hkrmv_t;
var closetag = '[/rm]';
insertText(opentag + closetag, opentag.length, closetag.length);
}else if(cmd == 'hkmp3'){
var hkmp3_t = prompt(lang['enter_hk_meida_url'], 'http://')
var opentag = '\n[gcx]' + lang['enter_hk_gcx'];
var closetag = '[/gcx] 下载歌曲:在这里使用右键另存 ';
insertText(opentag + closetag, opentag.length, closetag.length);
}else if(cmd == 'hkron'){
var hkmp3_t = prompt(lang['enter_hk_meida_url'], 'http://')
var opentag = '\n[gcx]' + lang['enter_hk_gcx'];
var closetag = '[/gcx][ron]' + hkmp3_t + '[/ron]';
insertText(opentag + closetag, opentag.length, closetag.length);
}else if(cmd == 'hkswf'){
var hkmp3_t = prompt(lang['enter_hk_meida_url'], 'http://')
var hkmp3_1 = prompt(lang['enter_hk_media_input1'], '460')
var hkmp3_2 = prompt(lang['enter_hk_media_input2'], '350')
var hkmp3_3 = prompt(lang['enter_hk_media_input3'], '1')
var opentag = '[swf=' + hkmp3_1 + ',' + hkmp3_2 + ',' + hkmp3_3 + ']' + hkmp3_t;
var closetag = '[/swf]';
insertText(opentag + closetag, opentag.length, closetag.length);
//===========End ----正式版 全功能播放器 MP3,WMV,WMA,RM,RMVB,FLASH,AVI...加入动态歌词 Oytktk(靖飒) 3. include/javascript/common.js
文章的最后加上:- function list1(scrobj){
- scrobj.scrollDelay=50;
- scrobj.scrollAmount=2;
- scrobj.direction="up";
- }
- function list2(scrobj){
- scrobj.scrollDelay=220;
- scrobj.scrollAmount=1;
- scrobj.direction="up";
- }
- function list3(scrobj){
- scrobj.scrollDelay=50;
- scrobj.scrollAmount=2;
- scrobj.direction="down";
- }
- function list4(scrobj){
- scrobj.scrollDelay=220;
- scrobj.scrollAmount=1;
- scrobj.direction="up";
- }
复制代码 4. templates\default\templates.lang.php
查找:- 'post_discuzcode_expand' => '扩展编辑框',
复制代码 下面加:- //===========Start ----正式版 全功能播放器 MP3,WMV,WMA,RM,RMVB,FLASH,AVI...加入动态歌词 Oytktk(靖飒)
- 'post_discuzcode_hkvod' => '插入 WMV 类型影像文件',
- 'post_discuzcode_hkrmv' => '插入 RM 类型影像文件',
- 'post_discuzcode_hkmp3' => '为一个 MP3 类型的音乐加入动态歌词功能',
- 'post_discuzcode_hkron' => '为一个 RM 类型的音乐加入动态歌词功能',
- 'post_discuzcode_hkswf' => '插入一个FLASH影像文件',
- 'post_discuzcode_gcx' => '\r在这里替换为滚动显示的歌词\r',
- 'post_discuzcode_meida_url' => '请输入影像文件的地址(URL):',
- 'post_discuzcode_media_input1' => '插入影像文件的宽度,推荐360-480',
- 'post_discuzcode_media_input2' => '插入影像文件的高度,推荐300-360',
- 'post_discuzcode_media_input3' => '是否让插入的影像文件自动播放,1=自动播放、0=手动播放',
- //===========End ----正式版 全功能播放器 MP3,WMV,WMA,RM,RMVB,FLASH,AVI...加入动态歌词 Oytktk(靖飒)
复制代码 5.templates\default\post_editor.htm
查找:- <!--{if $forum['allowbbcode'] && $allowcusbbcode}-->
复制代码 上面加: <td><a id="{$editorid}_cmd_hkvod"><img src="images/common/hk_vod.gif" title="{lang post_discuzcode_hkvod}" alt="{lang post_discuzcode_hkvod}" /></a></td>
<td><a id="{$editorid}_cmd_hkrmv"><img src="images/common/hk_rmv.gif" title="{lang post_discuzcode_hkrmv}" alt="{lang post_discuzcode_hkrmv}" /></a></td>
<td><a id="{$editorid}_cmd_hkmp3"><img src="images/common/hk_mp3.gif" title="{lang post_discuzcode_hkmp3}" alt="{lang post_discuzcode_hkmp3}" /></a></td>
<td><a id="{$editorid}_cmd_hkron"><img src="images/common/hk_ron.gif" title="{lang post_discuzcode_hkron}" alt="{lang post_discuzcode_hkron}" /></a></td>
<td><a id="{$editorid}_cmd_hkswf"><img src="images/common/hk_swf.gif" title="{lang post_discuzcode_hkswf}" alt="{lang post_discuzcode_hkswf}" /></a></td>
<td><img src="images/common/bb_separator.gif" alt="|" /></td> 6. templates\default\post_js.htm
查找:- lang['enter_list_item'] = "{lang post_discuzcode_listitem}";
复制代码 下面加:- //===========Start ----正式版 全功能播放器 MP3,WMV,WMA,RM,RMVB,FLASH,AVI...加入动态歌词 Oytktk(靖飒)
- lang['enter_hk_meida_url'] = "{lang post_discuzcode_meida_url}";
- lang['enter_hk_gcx'] = "{lang post_discuzcode_gcx}";
- lang['enter_hk_media_input1'] = "{lang post_discuzcode_media_input1}";
- lang['enter_hk_media_input2'] = "{lang post_discuzcode_media_input2}";
- lang['enter_hk_media_input3'] = "{lang post_discuzcode_media_input3}";
- //===========End ----正式版 全功能播放器 MP3,WMV,WMA,RM,RMVB,FLASH,AVI...加入动态歌词 Oytktk(靖飒)
复制代码 7. templates\default\discuzcode.htm
查找:- function tpl_codedisp($discuzcodes, $code) {
复制代码 上面加:function tpl_gcxdisp($discuzcodes, $code) {
}-->
<!--{block return}--><div class="t_attach" style="border-width:0px; position: absolute; background-color:#000000;"><font color="#FFFFFF" onmouseover="list3(gcx$discuzcodes[codecount])" onmouseout="list4(gcx$discuzcodes[codecount])" style="Cursor:hand">[∧]</font> <font color="#FFFFFF" onmouseover="list1(gcx$discuzcodes[codecount])" onmouseout="list2(gcx$discuzcodes[codecount])" style="Cursor:hand">[∨]</font></div><marquee id="gcx$discuzcodes[codecount]" onmouseover="this.stop()" onmouseout="this.start()" TrueSpeed scrollamount="1" scrolldelay="145" width="460" height="300" direction="up" bgcolor="#000000"><font style="font-size: 14pt" color=#FFFFFF><center>$code</center></FONT></marquee>
<!--{/block}-->
<!--{eval return $return;}-->
<!--{eval
} 文件修改结束, 下载附件中的5个按扭图片放入IMAGES/COMMON/目录下:
================================================================
````````````````````````````````````````````````````````````````
[ 本帖最后由 oytktk 于 2007-9-5 18:45 编辑 ] |
-
-
全功能播放器.rar (5.28 KB)
插件所需图片
-
2
评分次数
-
|