普元CC js
2020-01-14 本文已影响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");} |