当前位置:首页 > 教程资料 > 正文内容

discuz整合ckplayer增加dz游客试看试播功能vip不限m3u8格式

kingandy7个月前 (12-13)教程资料143

ckplayerX新版本是有试看试播功能的,新版本不需要插件也可以播放m3u8格式.技术点主要是怎么在帖子中判断用户是vip会员组.
一,后台, 界面.编辑器设置,Discuz! 代码,建立ck标签,点击详情,里面的替换内容填以下代码

<script type="text/javascript" src="ckplayer/ckplayer.js" charset="UTF-8"></script>
<div id="ckvideo" style="width: 760px;height: 500px;"></div>
<script type="text/javascript">
var videoObject={container:'#ckvideo',variable:'player',flashplayer:false,loaded: 'loadedHandler',video:{file:'{1}',type:'video/m3u8'}};
var player=new ckplayer(videoObject);
</script>

二,上传到根目录三个提示登录的小图片.
login_01.png
login_02.png
login_03.png

三,上传ckplayer 插件
ckplayer目录整体放在根目录中.目录中需要直接包含ckplayer.js文件等其它一些文件,目录文件结构为

四,修改模板/template/使用中的模板目录/forum/viewthread_node_body.htm
打开上面的模板.在最上面增加下面的几行
注意,$_G[group][groupid]==21 的21表示分组编号为21的才行vip会员组,可以修改为其它会员组.
59行有个 t >= 4 表示试看4秒.可以修改

<!--{eval 
if($_G[group][groupid]==21)echo "<script>var loginOrNo = true; </script>";else echo "<script>var loginOrNo = false; </script>";
}-->  
<script type="text/javascript">

    var elementLogin = null; //是否存在提示层
    //var loginOrNo = false; //是否已登录,默认是没有登录
    var loginShow = false; //提示层是否是显示状态
    function loadedHandler() { //播放器加载后会调用该函数
        player.addListener('time', timeHandler); //监听播放时间,addListener是监听函数,需要传递二个参数,'time'是监听属性,这里是监听时间,timeHandler是监听接受的函数
        player.addListener('play', playHandler); //监听播放状态
        player.addListener('full', fullHandler); //监听全屏切换
    }

    function playHandler() { //监听播放状态
        if(loginShow) {
            player.videoPause();
        }
    }

    function fullHandler(b) { //监听全屏切换
        if(loginShow && elementLogin) {
            player.deleteElement(elementLogin);
            elementLogin = null;
            window.setTimeout('showLogin()', 200);
        }
    }

    function timeHandler(t) { //监听播放时间
        if(t >= 4 && !loginOrNo) { //如果播放时间大于1,则又没有登录,则弹出登录/注册层
            player.videoPause();
            if(!loginShow && !elementLogin) {//elementLogin提示层
                showLogin();
            }
        }
    }

    function showLogin() { //显示登录/注册层
        loginShow = true;
        var meta = player.getMetaDate();
        var x = (meta['width'] - 307) * 0.5;
        var y = (meta['height'] - 39) * 0.5 - 80;
        var attribute = {
            list: [ //list=定义元素列表
                {
                    type: 'image', //定义元素类型:只有二种类型,image=使用图片,text=文本
                    file: 'login_01.png', //图片地址
                    radius: 0, //图片圆角弧度
                    width: 140, //定义图片宽,必需要定义
                    height: 39, //定义图片高,必需要定义
                    alpha: 1, //图片透明度(0-1)
                    marginLeft: 0, //图片离左边的距离
                    marginRight: 0, //图片离右边的距离
                    marginTop: 0, //图片离上边的距离
                    marginBottom: 0 //图片离下边的距离
                },
                {
                    type: 'image', //定义元素类型:只有二种类型,image=使用图片,text=文本
                    file: 'login_02.png', //图片地址
                    radius: 0, //图片圆角弧度
                    width: 69, //定义图片宽,必需要定义
                    height: 39, //定义图片高,必需要定义
                    alpha: 1, //图片透明度(0-1)
                    marginLeft: 0, //图片离左边的距离
                    marginRight: 0, //图片离右边的距离
                    marginTop: 0, //图片离上边的距离
                    marginBottom: 0, //图片离下边的距离
                    clickEvent: 'javaScript->userLogin()'
                },
                {
                    type: 'image', //定义元素类型:只有二种类型,image=使用图片,text=文本
                    file: 'login_03.png', //图片地址
                    radius: 0, //图片圆角弧度
                    width: 70, //定义图片宽,必需要定义
                    height: 39, //定义图片高,必需要定义
                    alpha: 1, //图片透明度(0-1)
                    marginLeft: 0, //图片离左边的距离
                    marginRight: 0, //图片离右边的距离
                    marginTop: 0, //图片离上边的距离
                    marginBottom: 0, //图片离下边的距离
                    clickEvent: 'javaScript->userReg()'
                },
                {
                    type: 'image', //定义元素类型:只有二种类型,image=使用图片,text=文本
                    file: 'login_04.png', //图片地址
                    radius: 0, //图片圆角弧度
                    width: 28, //定义图片宽,必需要定义
                    height: 39, //定义图片高,必需要定义
                    alpha: 1, //图片透明度(0-1)
                    marginLeft: 0, //图片离左边的距离
                    marginRight: 0, //图片离右边的距离
                    marginTop: 0, //图片离上边的距离
                    marginBottom: 0 //图片离下边的距离
                }
            ],
            x: x, //元件x轴坐标,注意,如果定义了position就没有必要定义x,y的值了,支持数字和百分比
            y: y, //元件y轴坐标
            alpha: 1, //元件的透明度
            backgroundColor: '0x000000', //元件的背景色
            backAlpha: 0.1, //元件的背景透明度(0-1)
            backRadius: 0 //元件的背景圆角弧度
        }
        elementLogin = player.addElement(attribute);
    }

    function userLogin() {

    window.location.href="member.php?mod=register";
        //alert('点击了登录按钮');
    }

    function userReg() {
    window.location.href="member.php?mod=register";
        //alert('点击了注册按钮');
    }

    function loginTrue() { //附加的处理用户登录后执行的动作
        loginOrNo = true;
        if(loginShow && elementLogin) {
            player.deleteElement(elementLogin);
            elementLogin = null;
            loginShow = false;
            player.videoPlay();
        }
    }
        </script>


扫描二维码推送至手机访问。

版权声明:本文由技术介绍及硬件评测发布,如需转载请注明出处。

本文链接:http://5yqs.cn/post/48.html

分享给朋友:

“discuz整合ckplayer增加dz游客试看试播功能vip不限m3u8格式” 的相关文章

linux下的php网站放到Windows服务器IIS下.htaccess文件伪静态规则转换

linux下的php网站放到Windows服务器IIS下.htaccess文件伪静态规则转换

      此办法只适合于linux下的php网站放到Windows服务器IIS下,网站除了主页面正常以外子页面全部出现404错误,这里子页面出现404 错误是说明伪静态没有开启。      什么是.htacdess:.htaccess叫分...

Easypanel免费的VPS主机面板 可跨平台Linux和Windows

Easypanel免费的VPS主机面板 可跨平台Linux和Windows

Easypanel是一款免费的功能强大集开通虚拟主机,ftp空间,数据库等功能为一体的主机控制面板,具备跨平台(windows,linux),安全稳定、操作简便等特点,感兴趣的小伙伴们可以关注一下 细数一下,国内的能够被多数用户认可并被广泛使用的免费VPS主机面板应该是...

给基于Centos系统的Linux vps服务器添加多个IP的方法教程

本文介绍怎样给CentOS的VPS或者独立主机增加新的IP地址。增加新IP需要知道的是新的IP地址和子网掩码,其他信息(比如网关)都不再需要了。假如需要增加的ip是177.252.202.179,子网掩码是255.255.255.248在目录/etc/sysconfig/network-script...

Linux系统TCP加速一键安装管理脚本教程,多版本BBR锐速一个脚本搞定

Linux系统TCP加速一键安装管理脚本教程,多版本BBR锐速一个脚本搞定

使用国外Linux系统服务器的朋友应该都知道,为了提高服务器带宽的利用率,优化网络速度,大多都会使用到TCP加速工具,而且最常用的就是BBR和锐速了。目前对于BBR及锐速的安装基本都是无任何门槛的。今天在TG上有大佬分享了一个类似上面提到TCP加速一键安装管理脚本,感觉挺不错的,在此文章当中记录并分...

Linux宝塔面板如何挂载硬盘?BT宝塔面板磁盘挂载教程来了!

Linux宝塔面板如何挂载硬盘?BT宝塔面板磁盘挂载教程来了!

为解决这个问题,我们制作了磁盘自动挂载工具,支持Centos、Ubuntu、Debian、Fedora说明: 1:本工具默认将数据盘挂载到/www目录,前提你服务器得绑定一块附加硬盘,可以到云服务器商购买 2:若您的服务器之前安装过...

负载均衡和CDN技术有什么区别

负载均衡和CDN技术有什么区别

不知道你们是否也有疑问,至少在这篇文章之前我还是混淆的,那么到底负载均衡和CDN有什么区别呢?跟我一样不懂的来一起探索,老司机出门右拐,不送~~~ 1、首先什么是负载均衡(load balance) 举个例子:领导交给我好多项任务,但是我发现怎么安排时...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。