A-A+

让Discuz论坛支持更多视频媒体格式在线播放的方法

2013年03月21日 生活记录 暂无评论 阅读 68911,542 次

Discuz论坛默认能够支持的视频格式已经相当丰富,但是随着高清视频在线播放的流行,许多视频网站,已经开始渐渐的使用MP4格式,而Discuz论坛刚好不支持MP4。
下面这个方法可以让你的Discuz解析支持MP4,或者其它更多视频格式,目前最简单的方法,只需要修改两个地方:

第一处:

打开:source/function/function_discuzcode.php
找到

function parsemedia($params, $url) {
在401行 插入

case 'mp4':
效果如下:

if(in_array(count($params), array(3, 4))) {
$type = $params[0];
$url = str_replace(array('<', '>'), '', str_replace('\\"', '\"', $url));
switch($type) {
case 'mp3':
case 'wma':
case 'ra':
case 'ram':
case 'wav':
case 'mid':
return parseaudio($url, $width);
case 'rm':
case 'rmvb':
case 'rtsp':
$mediaid = 'media_'.random(3);
return '
';
case 'flv':
$randomid = 'flv_'.random(3);
return '';
case 'swf':
$randomid = 'swf_'.random(3);
return '';
case 'asf':
case 'asx':
case 'wmv':
case 'mms':
case 'avi':
case 'mpg':
case 'mpeg':
case 'mp4':
第二处:

查找:static/js/editor.js
搜索到这一行代码:

ext = in_array(ext, ['mp3', 'wma', 'ra', 'rm', 'ram', 'mid', 'asx', 'wmv', 'avi', 'mpg', 'mpeg', 'rmvb', 'asf', 'mov', 'flv', 'swf']) ? ext : 'x';
添加上mp4格式:

ext = in_array(ext, ['mp3', 'wma', 'ra', 'rm', 'ram', 'mid', 'asx', 'wmv', 'avi', 'mpg', 'mpeg', 'rmvb', 'asf', 'mov', 'flv', 'swf', 'mp4']) ? ext : 'x';
不过通过这种方法播放MP4,调用的是Media Player,如果你的电脑上没有安装,或者使用的是非IE浏览器,你可能还需要安装播放插件。

给我留言