美文网首页
普元CC js

普元CC js

作者: 红凉梦 | 来源:发表于2020-01-14 15:27 被阅读0次

    提交整合

    2020.3.9修改超级播放器showSuperView方法,代码已跟新--oc--js,未提交git


    2020.3.3 修改 微博分享 oc--js--未提交git-oc,js端代码已更新到简书


    2020.2.26 提交代码,编写文档如下微博、MTA、CC


    2019 CCdemo (xcode-native.js--SDK以及状态设置---SkyCCVideoView工具类---文件夹CCdemo---appdelegate修改---pch头文件--未提交git)


    //CC 视频接口-直播
    var __ccvideo = null;
    
    util.CCVideo =
        function(json,LoginSuccess,LoginFailure){
        if(__ccvideo == null)
            __ccvideo = new Emp.CCtools();
            __ccvideo.showVideo(json,LoginSuccess,LoginFailure);
    }
    //cc 视频接口-回放
    var __ccPlayBack = null;
    util.CCVideoPlayBack = function(json,LoginSuccess,LoginFailure){
            if(__ccPlayBack == null)
                __ccPlayBack = new Emp.CCtools();
            __ccPlayBack.showVideoBack(json,LoginSuccess,LoginFailure);
    }
    //cc 视频接口-离线
    //解压
    var __ccDecompressZipWithDec = null;
    
    util.decompressZipWithDec=function(json,callbackPath){
        if(__ccDecompressZipWithDec == null)
            __ccDecompressZipWithDec = new Emp.CCtools();
        __ccDecompressZipWithDec.decompressZip(json,callbackPath);
    }
    //解压成功之后
    var __ccshowOfflineController = null;
    
    util.showOfflineController =function(json){
        if(__ccshowOfflineController == null)
              __ccshowOfflineController = new Emp.CCtools();
          __ccshowOfflineController.showofflineController(json);
    }
    Emp.CCtools =Emp.extend(Emp.Component,{
                            init: function(json) {
                            Emp.CCtools.superclass.init.call(this, json);
                            this.content.xtype = 'SkyCCVideoView';
                            Emp.newNativeObject(this);
                            },
        showVideo:function(json,LoginSuccess,LoginFailure){
                            this.addEvent('CConSuccess',LoginSuccess);
                            this.addEvent('CConFailure',LoginFailure);
                            empBridge.fireModelMethod(this.modelId,"showCCVideo",json);
            
                             },
        showVideoBack:function(json,LoginSuccess,LoginFailure){
                           this.addEvent('CConSuccess',LoginSuccess);
                           this.addEvent('CConFailure',LoginFailure); empBridge.fireModelMethod(this.modelId,'showCCVideoBack',json);
                                 
                            },
        decompressZip:function(json,callbackPath){
                            this.addEvent('decompressZipResult', callbackPath);
                            empBridge.fireModelMethod(this.modelId, 'decompressZipWithDec',json);
                            },
        showofflineController:function(json){                           empBridge.fireModelMethod(this.modelId,'showofflineController',json);
                            },
    });
    

    CC视频文档,直播、回放、离线

    Method Parameter Description Return 示例
    CCVideo(json,function(),function(errmsg)) json
    * @brief 登录房间
    * @param parameter 配置参数信息
    * 必填参数 userId;//用户ID
    * 必填参数 roomId;//房间ID
    * 必填参数 viewerName;//用户名称
    * 必填参数 token;//房间密码--cc后台可设置(此处免密)
    * (选填参数 security;//是否使用https协议
    * (选填参数) viewercustomua;
    观看直播 <script>
    var json = {
    userId:"6F60EBB052CE541E",
    roomId:"20ABFEE9780F71379C33DC5901307461",
    viewerName:"puyuan",
    token:null
    };
    Utils.CCVideo(json,function(){
    log("登录成功");
    },function(errmsg){
    log(errmsg);
    });
    </script>
    CCVideoPlayBack(json,function(),function(errmsg)) json
    * @brief 登录房间
    * @param parameter 配置参数信息
    * 必填参数 userId;//用户ID
    * 必填参数 roomId;//房间ID
    * 必填参数 viewerName;//用户名称
    * 必填参数 token;//房间密码
    * 必填参数 security;//是否使用https协议
    * (选填参数) viewercustomua;
    * 必填参数 liveId;//直播ID,回放时才用到
    * 必填参数 recordId;//回放ID
    观看回放 <script>
    var json = {
    userId:"6F60EBB052CE541E",
    roomId:"20ABFEE9780F71379C33DC5901307461",
    liveId:"B5C870A430E31F52",
    recordId:"7B403EBCA8895925",
    viewerName:"puyuan",
    token:null
    };
    Utils.CCVideoPlayBack(json,function(){
    log("登录成功");
    },function(errmsg){
    log(errmsg);
    });
    </script>
    createUserTask(remoteUrl, fileName) remoteUrl: 文件下载地址(.ccr)
    fileName: String类型,文件名
    离线下载,全局方法,创建用户文件下载任务对象 DownloadTask <script>
    var task = $M.DownLoadManager.createUserTask(
    "https://github.com/vfr/Reader/raw/master/Resources/Reader.ccr",
    "sd://test/Reader.ccr"
    );
    task.start();
    //添加下载成功回调函数
    task.addEvent('onSuccess', function() {
    alert('下载成功');
    });
    task.addEvent('onFailure',function(){
    alert('下载失败');
    });
    </script>
    decompressZipWithDec(json,function(result)) json
    * @param dst 需要进行解压解密的文件.
    * @param dir 解压后输出目录, =NULL则解压到当前目录.
    function(result)回调, result ==’0‘的时候,解压成功
    解压文件 <script>
    Utils.decompressZipWithDec(json,function(result){
    alert(result);
    if(result == "0")
    alert("解压成功")
    });
    </script>
    showOfflineController(json) json
    * @param dst 需要进行解压解密的文件.
    * @param dir 解压后输出目录, =NULL则解压到当前目录.
    离线播放视图 <script>
    var json = {
    dst:"sd://test/Reader.ccr",
    dir:""
    };
    Utils.showOfflineController(json);
    </script>

    离线回放demo

    <html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    </head>
    <body>
        <nav title="tab" enableLeft="true" enableRight="true" />
            <div width="100%" height="100%" vAlign="middle" >
                <input id="gotodownLoad" type="text" emptyText="请输入下载地址" height="50" width="100%" />
                <input type="button" value="下载" onClick="butttonClick"/>
                <!-- <input type="button" value="解压" onClick="openDwonLoad"/>            -->
            </div>      
            <div width="100%" height="100%" id="contensOfflineDiv">
            </div>
    </body>
    <script> 
    $M.page.addEvent('onLoad', function(params){
    });
    function butttonClick (param){
        /*  添加下载任务,下载路径、保存下载文件的地址*/
            var task = $M.DownLoadManager.createUserTask(
                        "https://github.com/vfr/Reader/raw/master/Resources/Reader.pdf",
                        "sd://test/Reader.pdf");
            task.start();
            //添加下载成功回调函数        
            task.addEvent('onSuccess', function() {
                alert('下载成功');
    /*
     * @param dst 需要进行解压解密的文件.
     * @param dir 解压后输出目录, =NULL则解压到当前目录.
     */ 
            var json = {
            dst:"sd://test/Reader.pdf",
            dir:""
            };
            openDwonLoad(json);
        });
        /*下载失败  */
        task.addEvent('onFailure',function(){
            alert('下载失败');
        });
    }
     function openDwonLoad(json){
       Utils.decompressZipWithDec(json,function(result){
       alert(result);
        if(result == "0")
            Utils.showOfflineController(json);
       });
     }
    </script>
    </html>
    

    腾讯超级播放器文档

    Method Parameter Description Return 示例
    new Emp.superPlayerViews() {
    height:"100%",
    width:"100%"
    }
    创建超级播放器视图 var superPlayerView=new Emp.superPlayerViews({
    height:"100%",
    width:"100%"
    });
    showSuperView(json) var json={
    appid:"1252463788",
    fileid:"4564972819219071568",
    videoURL:""
    };
    {
    appid:"",
    fileid:"",
    videoURL:"http://.............c.mp4"
    } 设置清晰度除了填写url外,更简单的使用方式是采用fileId播放。fileId在一般是在视频上传后,由服务器返回
    播放视频 superPlayerView.showSuperView(json);
    [ios]ConfigureMultiurl(json) json
    SD:标清 url
    HD:高清url
    SuperD:超清 url
    {
    SD:"http://200024424.vod.myqcloud.com/
    200024424_709ae516bdf811e6ad39991f76a4df69.f20.mp4",
    HD:"http://5815.liveplay.myqcloud.com/live/
    5815_62fe94d692ab11e791eae435c87f075e_900.flv",
    SuperD:"http://5815.liveplay.myqcloud.com/live/
    5815_62fe94d692ab11e791eae435c87f075e.flv"
    };
    添加配置多清晰度(ios ) Object.ConfigureMultiurl(json)
    windowsPlayer() 小窗口播放 superPlayerView.windowsPlayer()
    ----windowsPlayer 这个方法必须在播放视频之后配置 ,否则找不到窗口会导致程序崩溃-->
    resetPlayer() 退出观看 superPlayerView.resetPlayer()

    超级播放器demo

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
        <nav title="超级播放器" enableLeft="true" enableRight="true" />
    <div width="100%" height="100%" vAlign="middle" hAlign="center" layout="VBox" >
    <div width="100%" height="50">
        <input type="button" value="配置多清晰度" onClick="multiVideoURLs"/>
        /*<input type="button" value="缩略图" onClick="smallPicPlayer"/>*/
        <input type="button" value="显示小窗播放" onClick="windowsPlayer"/>
        </div>
    <div width="100%" height="50" >
        <input type="button" value="观看视频" onClick="starVideo"/>
        <input type="button" value="退出观看" onClick="resetPlayer"/>
    </div>  
    <div width="100%" height="100%" id="superDiv">
    </div>
    </div>
    </body>
    <script>
        $M.page.addEvent('onLoad', function(params){
        });
            var superPlayerView=new Emp.superPlayerViews({
                height:"100%",
                width:"100%"
            });
            superDiv.add(superPlayerView);
            
            function starVideo(){
                /* appid、fileid
                  *
    设置清晰度除了填写url外,更简单的使用方式是采用fileId播放。fileId在一般是在视频上传后,由服务器返回
                */
                          var json={
                    appid:"1252463788",
                    fileid:"4564972819219071568",
                    videoURL:""
                };
                //var url = "http://200024424.vod.myqcloud.com/200024424_709ae516bdf811e6ad39991f76a4df69.f20.mp4";
                superPlayerView.showSuperView(json);
            
            };
            function multiVideoURLs(){
            /*
            *添加配置多清晰度
            *SD:标清 url
            *HD:高清url
            *SuperD:超清 url
            */
                var json={
                    SD:"http://200024424.vod.myqcloud.com/200024424_709ae516bdf811e6ad39991f76a4df69.f20.mp4",
                    HD:"http://5815.liveplay.myqcloud.com/live/5815_62fe94d692ab11e791eae435c87f075e_900.flv",
                    SuperD:"http://5815.liveplay.myqcloud.com/live/5815_62fe94d692ab11e791eae435c87f075e.flv"
                };
                superPlayerView.ConfigureMultiurl(json);
                alert('ok');
            };
            
            <!-- 缩略图需要在SDK中做相应操作- -->
            function smallPicPlayer(){
            /*
            *配置缩略图
            */
            // superPlayerView.smallPicPlayer();
            //  alert('ok');
            //}
    
            <!-- ----- windowsPlayer 这个方法必须最后配置 ,否则找不到窗口会导致程序崩溃-->
            function windowsPlayer(){
            /*
            *小窗口播放
            */
             superPlayerView.windowsPlayer();
            
            }
            function resetPlayer(){
            /*
            *退出观看
            */
            superPlayerView.resetPlayer();
            alert('ok');
            }
            
    </script>
    </html>
    
    

    微博分享,以及MTA统计

    Method Parameter Description Return 示例
    shareWeibochat(data,function(retCode,retMsg) //image、text、webUrl可以允许单项为空,图片、文字、与多媒体不能组合分享
    var data = {
    "image" : {"imagePath" : "/images/app.png"} ,
    "text" :{ "text" : "我要分享的内容是2月14日情人节" } ,
    "webUrl" : { "actionUrl" : "https://weibo.com",
    "defaultText" : "默认网页",
    "description" : "描述文字",
    "thumbData" : "/images/app.png",
    "title" : "测试网页"
    }
    }
    微博分享,可单独分享文本,网页,图片 Utils.shareWeibochat(data,function(retCode,retMsg){
    log(retCode+','+retMsg);
    toast(retCode+','+retMsg);
    });
    Utils.beginLoadPage('xxxx.html'); 2 开始进入界面 3 $M.page.addEvent('onLoad', function(param{
    Utils.beginLoadPage('index.html');
    });
    Utils.endLoadPage('xxx.html'); 2 离开界面时使用,与开始结合使用,否则无效 3 Utils.endLoadPage('xxx.html');
    $M.page.goTo('/xxx.htmlx', null, false);
    Utils.eventIDClick(eventid,lableType); @param event_id 事件的ID,ID需要先在MTA前台配置好才能生效
    lableType:事件类型
    统计点击事件 function share(){Utils.eventIDClick("share","shareType");}

    相关文章

      网友评论

          本文标题:普元CC js

          本文链接:https://www.haomeiwen.com/subject/islaactx.html