KindEditor&ckplayer的简单结合

原贴发表在我的个人博客haha.tk | Ha?Have a Talk!上,转载请注明出处,谢谢。

链接

  ckplayer 6.7:http://www.ckplayer.com/bbs/forum.php?mod=viewthread&tid=10864

  KindEditor4.1.10 (2013-11-23):http://kindeditor.net/down.php

  参考教程: 关于kindeditor整合万能的ckplayer视频播放器插件


  因项目需要,现将KindEditor与ckplayer相结合,利用ckplayer播放由KindEditor富文本编辑器上传至服务器的视频。

KindEditor

  KindEditor的安装与配置这里不做多余介绍,具体参考《官方文档-编辑器使用方法》

ckplayer的配置

  上传相关文件到编辑器的插件目录即editor/plugins/ckplayer,基本的文件包括ckplayer.jsckplayer.swfckplayer.xmllanguage.xmlstyle.css

修改格式验证代码

  修改kindeditor.js的960行左右的上传功能的格式验证代码,加入需要支持的视频格式:

    function _mediaType(src) {
        if (/\.(rm|rmvb)(\?|$)/i.test(src)) {
            return 'audio/x-pn-realaudio-plugin';
        }
        if (/\.(swf|flv|mp4)(\?|$)/i.test(src)) {
            return 'application/x-shockwave-flash';
        }
        return 'video/x-ms-asf-plugin';
    }

  修改jsp/upload_json.jsp的32行左右的上传功能的格式验证代码,加入需要支持的视频格式:

    //定义允许上传的文件扩展名
    HashMap<String, String> extMap = new HashMap<String, String>();
    extMap.put("image", "gif,jpg,jpeg,png,bmp");
    extMap.put("flash", "swf,flv,mp4");
    extMap.put("media",
            "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb,mp4");
    extMap.put("file",
            "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2");

  ckplayer官方称支持以下视频格式:

视频协议视频格式FlashHTML5
HTTPflvg.jpgx.jpg
HTTPf4vg.jpgx.jpg
HTTPmp4g.jpgg.jpg
HTTPm3u8g.jpgg.jpg
HTTPwebmx.jpgg.jpg
HTTPoggx.jpgg.jpg
RTMPflvg.jpgx.jpg
RTMPf4vg.jpgx.jpg
RTMPmp4g.jpgx.jpg
RTMP直播流g.jpgx.jpg

  所以其中要添加什么类型的文件记得在两个文件都修改。

修改embed标签代码

  ckplayer播放本地视频的原理是调用ckplayer.swf打开本地的视频,下面的修改kindeditor.js中983行左右embed标签相关的代码,加入ckplayer可以识别的参数flashvars:

    function _mediaEmbed(attrs) {
        var html = '<embed ';
        _each(attrs, function(key, val) {
            if (key == 'src') {
                html += key + '="' + K.options.pluginsPath
                        + 'ckplayer/ckplayer.swf" ' + 'flashvars="f=' + localhostPath + val
                        + '" ';
            } else {
                html += key + '="' + val + '" ';
            }
        });
        html += '/>';
        return html;
    }

注意

大约在kindeditor.js的300行左右,会有如下代码:

embed : [ 'id', 'class', 'src', 'width', 'height', 'type', 'loop',
                    'autostart', 'quality', '.width', '.height', 'align',
                    'allowscriptaccess','flashvars' ],

  这段代码表示的是embed标签里的属性名,记得添加ckplayer专用的代表本地视频地址的flashvars参数,否则在KindEditor编辑器将代码转换成HTML代码时,embed标签中的其它参数会被省略。   修改之后,当插入视频时,将会生成如下代码其中flashvars的其它参数可以通过&来连接更多的参数,如控制自动播放的p参数。

<embed src="http://localhost:8080/editor/plugins/ckplayer/ckplayer.swf" flashvars="f=/attached/flash/20160116/20160116131808_254.mp4" type="application/x-shockwave-flash" width="550" height="400" quality="high" />

其他

  还有一些关于编辑器和优化如下:

修改上传提示

  修改editor/plugins/flash/flash.js,在html参数中如添加诸如一下代码,引导管理员更好的使用上传本地视频的功能。

            var html = [
                '<div style="padding:20px;">',
                //url
                '<div class="ke-dialog-row">',
                '<div style="color:red">',
                '本地视频上传详见<a href="http://haha.tk"  target="_blank" >《教程吧啦吧啦》</a>',
                '</div>',
                '<label for="keUrl" style="width:60px;">' + lang.url + '</label>',
                '<input class="ke-input-text" type="text" id="keUrl" name="url" value="" style="width:160px;" /> &nbsp;',
                '<input type="button" class="ke-upload-button" value="' + lang.upload + '" /> &nbsp;',
                '<span class="ke-button-common ke-button-outer">',
                '<input type="button" class="ke-button-common ke-button" name="viewServer" value="' + lang.viewServer + '" />',
                '</span>',
                '</div>',    

视频播放去广告

  将ckplayer.xml中setup参数的第9个值设置成0,具体参考官方文档

转载于:https://my.oschina.net/thau/blog/603680

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值