Discuz教程网

Discuz X2.5 正式版音乐自动播放修改(有懒人包只限gbk)

  [复制链接]
authicon dly 发表于 2012-7-26 16:11:33 | 显示全部楼层 |阅读模式
最近安装使用区有很多人在问X2.5为什么用x2的修改方法

但是自动播放的选项选了后还是不能自动呢了

因为新版本中的mp3的调用代码增加了调用play.swf的文件所引致

所以干脆自己把这个功能加上去了,希望大家使用愉快

基本上和x2的修改方法差不多而已

演示地址:
游客,如果您要查看本帖隐藏内容请回复
手动修改方法如下:
1、打开./source/function/function_discuzcode.php
搜索
  1. function parseaudio($url, $width = 400) {
  2. $ext = strtolower(substr(strrchr($url, '.'), 1, 5));
  3. switch($ext) {
  4. case 'mp3':
  5. $randomid = 'mp3_'.random(3);
  6. return '<span id="'.$randomid.'"></span><script type="text/javascript" reload="1">$(\''.$randomid.'\').innerHTML=AC_FL_RunContent(\'FlashVars\', \'soundFile='.urlencode($url).'\', \'width\', \'290\', \'height\', \'24\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', \''.STATICURL.'image/common/player.swf\', \'quality\', \'high\', \'bgcolor\', \'#FFFFFF\', \'menu\', \'false\', \'wmode\', \'transparent\', \'allowscriptaccess\', \'none\', \'allowNetworking\', \'internal\');</script>';
  7. case 'wma':
  8. case 'mid':
  9. case 'wav':
  10. return '<object classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="'.$width.'" height="64"><param name="invokeURLs" value="0"><param name="autostart" value="0" /><param name="url" value="'.$url.'" /><embed src="'.$url.'" autostart="0" type="application/x-mplayer2" width="'.$width.'" height="64"></embed></object>';
  11. case 'ra':
  12. case 'rm':
  13. case 'ram':
  14. $mediaid = 'media_'.random(3);
  15. return '<object classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="'.$width.'" height="32"><param name="autostart" value="0" /><param name="src" value="'.$url.'" /><param name="controls" value="controlpanel" /><param name="c**ole" value="'.$mediaid.'_" /><embed src="'.$url.'" autostart="0" type="audio/x-pn-realaudio-plugin" controls="ControlPanel" c**ole="'.$mediaid.'_" width="'.$width.'" height="32"></embed></object>';
  16. }
  17. }
复制代码

更改为
  1. function parseaudio($url, $width = 400, $autostart = 0) {
  2. $autostart = $autostart !== '' ? 1 : 0;
  3. $ext = strtolower(substr(strrchr($url, '.'), 1, 5));
  4. switch($ext) {
  5. case 'mp3':
  6. case 'wma':
  7. case 'mid':
  8. case 'wav':
  9. return '<object classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6" width="'.$width.'" height="64"><param name="invokeURLs" value="0"><param name="autostart" value="'.$autostart.'" /><param name="url" value="'.$url.'" /><embed src="'.$url.'" autostart="'.$autostart.'" type="application/x-mplayer2" width="'.$width.'" height="64"></embed></object>';
  10. case 'ra':
  11. case 'rm':
  12. case 'ram':
  13. $mediaid = 'media_'.random(3);
  14. return '<object classid="clsid:CFCDAA03-8BE4-11CF-B84B-0020AFBBCCFA" width="'.$width.'" height="32"><param name="autostart" value="'.$autostart.'" /><param name="src" value="'.$url.'" /><param name="controls" value="controlpanel" /><param name="c**ole" value="'.$mediaid.'_" /><embed src="'.$url.'" autostart="0" type="audio/x-pn-realaudio-plugin" controls="ControlPanel" c**ole="'.$mediaid.'_" width="'.$width.'" height="32"></embed></object>';
  15. }
  16. }
复制代码

搜索
  1. if(strpos($msglower, '[/audio]') !== FALSE) {
  2. $message = preg_replace("/\[audio(=1)*\]\s*([^\[\<\r\n]+?)\s*\[\/audio\]/ies", $allowmediacode ? "parseaudio('\\2', 400)" : "bbcodeurl('\\2', '<a href="{url}" target="_blank">{url}</a>')", $message);
  3. }
复制代码

更改为
  1. if(strpos($msglower, '[/audio]') !== FALSE) {
  2. $message = preg_replace("/\[audio(=1)*\]\s*([^\[\<\r\n]+?)\s*\[\/audio\]/ies", $allowmediacode ? "parseaudio('\\2', 400, '\\1')" : "bbcodeurl('\\2', '<a href="{url}" target="_blank">{url}</a>')", $message);
  3. }
复制代码

2﹑打开static\js\editor.js
搜索
  1. str = '<p class="pbn">请输入音乐文件地址:</p><p class="pbn"><input type="text" id="' + ctrlid + '_param_1" class="px" value="" style="width: 220px;" /></p><p class="xg2 pbn">支持 wma mp3 ra rm 等音乐格式
  2. 示例: http://server/audio.wma</p>';
复制代码

更改为
  1. str = '<p class="pbn">请输入音乐文件地址:</p><p class="pbn"><input type="text" id="' + ctrlid + '_param_1" class="px" value="" style="width: 220px;" /></p><p class="pbn"><label for="' + ctrlid + '_param_2"><input type="checkbox" id="' + ctrlid + '_param_2" class="pc" value="1"/> 是否自动播放</label>
  2. </p><p class="xg2 pbn">支持 wma mp3 ra rm 等音乐格式
  3. 示例: http://server/audio.wma</p>';
复制代码

搜索
  1. insertText('[audio]' + $(ctrlid + '_param_1').value + '[/audio]', 7, 8, false, sel);
复制代码

修改为
  1. var auto = $(ctrlid + '_param_2').checked ? '=1' : '';
  2. insertText('[audio' + auto +']' + $(ctrlid + '_param_1').value + '[/audio]', 7, 8, false, sel);
复制代码

更新缓存。

好了,现在可以正常使用自动播放了。
游客,如果您要查看本帖隐藏内容请回复
如果不想手动修改,又没必过这两个文件 的,直接下载以下附件,上传替换。
Q&A:
Q:很多朋友都问更改后要怎么用啊??
A:1﹑你可以选擇重新添加该音源,重新添加时点自动播放
   2﹑你也可以选擇加上角的 纯文本 勾上 把[audio]更改为[audio=1] 即可



上一篇:Discuz X2 图片地址不能解析显示成图片的解决办法,快捷解析图片地址显示成图片
下一篇:修改Discuz X2.5快捷回帖的字号和行距
authicon longhaoaa 发表于 2012-8-1 10:58:46 | 显示全部楼层
dddddddddddddddd
authicon 无常 发表于 2012-8-16 14:28:23 | 显示全部楼层
这个好,我看看。
authicon Kawashiro_Nitor 发表于 2012-8-18 13:23:49 | 显示全部楼层
想看看演示
authicon 淮北游子网 发表于 2012-8-19 09:13:29 | 显示全部楼层
bbs.dsu.mebbs.dsu.mebbs.dsu.mebbs.dsu.me
authicon Qzome! 发表于 2012-8-31 21:56:34 | 显示全部楼层
支持~~~~~~~~~~~~~~~~
authicon 530761333 发表于 2012-9-1 23:06:55 | 显示全部楼层
不错整合用上
authicon cnzzvip 发表于 2012-9-3 12:00:48 | 显示全部楼层
这个功能太好了
authicon zgycgc 发表于 2012-9-22 06:26:48 | 显示全部楼层
支持学习
authicon 灵韵之声配音 发表于 2013-8-27 14:33:34 | 显示全部楼层
很不错。希望能用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 16:35

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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