关于dz支持html5语音播放器的方法

[复制链接]
发表于 2017-11-24 01:04:26 | 显示全部楼层 |阅读模式
现在主流浏览器和手机浏览器都支持HTML5标签了,一旦我们的帖子插入了主流音频文件(MP3和WAV),现在版本的Discuz对在这些设备上很难兼容播放,如在IE6上能够播放,在苹果手机上就不能播放,最好的解决方法就是修改代码支持HTML5播放标签,例子:我的网站(火腿酒吧 HAM98.net)的一个帖子中含有一个MP3,无论你用什么浏览器,或者手机浏览器几乎都能够正常播放,不信你试试看,复制 下面的链接看效果:



http://rmb.hjwuyu.com/forum.php?mod=viewthread&tid=66

这里给出需要修改的代码,找到文件 \source\function\function_discuzcode.php ,搜索代码


  • case 'mp3':


将“case 'mp3':”下面的代码


  • $randomid = 'mp3_'.random(3);
  •                         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>';



替换为以下的代码


  • if (strpos($_SERVER["HTTP_USER_AGENT"], "MSIE 6") || strpos($_SERVER["HTTP_USER_AGENT"], "MSIE 7") || strpos($_SERVER["HTTP_USER_AGENT"], "MSIE 8")) {//判别IE版本
  •                                 $randomid = 'mp3_'.random(3);
  •                                 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>';
  •                         }else {
  •                                 return '<audio src="'.$url.'" controls="true" preload="true" autoplay="true"></audio>';
  •                         }


其中以上这一段<audio src="'.$url.'" controls="true" preload="true" autoplay="true"></audio>里面的autoplay="true"删除掉就能关闭自动播放。


[color=rgb(51, 102, 153) !important]
回复

使用道具 举报

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

本版积分规则

热门版块:
帖子推荐:
图文热帖:
客服咨询

400-1234-5678

服务时间 9:00-22:00

 
QQ在线咨询
售前咨询热线
13435808100
售后服务热线
13435808100
快速回复 返回顶部 返回列表