Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 78b3740

Browse files
committed
[CHG]支持promise方式调用
1 parent 3ad1c58 commit 78b3740

File tree

3 files changed

+152
-19
lines changed

3 files changed

+152
-19
lines changed

demos/base-demo/index.html

Lines changed: 71 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,42 +5,42 @@
55
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
66
<title>Document</title>
77
<script src="./ezuikit.js"></script>
8-
<script src="https://statics.ys7.com/openweb/common/scripts/jquery-29578c8c59.min.js"></script>
98
</head>
109
<body>
1110
<div className="demo">
1211
<h2>视频模式使用示例:</h2>
1312
<div id="video-container"
14-
style="width:375px;height:200px;">
13+
style="width:375px;"
14+
>
1515
</div>
1616
<div>
17-
<!-- <button onClick={()=> this.playr.stop()}>stop</button>
18-
<button onClick={()=> this.playr.openSound()}>openSound</button>
19-
<button onClick={()=> this.playr.closeSound()}>closeSound</button>
20-
<button onClick={()=> this.playr.startSave()}>startSave</button>
21-
<button onClick={()=> this.playr.stopSave()}>stopSave</button>
22-
<button onClick={()=> this.playr.capturePicture()}>capturePicture</button>
23-
<button onClick={()=> this.playr.fullScreen()}>fullScreen</button>
24-
<button onClick={()=> this.playr.getOSDTime()}>getOSDTime</button>
25-
<button onClick={()=> this.playr.startTalk()}>开始对讲</button>
26-
<button onClick={()=> this.playr.stopTalk()}>结束对讲</button>
27-
-->
17+
<button onClick="play()">play</button>
18+
<button onClick="stop()">stop</button>
19+
<button onClick="getOSDTime()">getOSDTime</button>
20+
<button onClick="getOSDTime2()">getOSDTime2</button>
21+
<button onClick="capturePicture()">capturePicture</button>
22+
<button onClick="openSound()">openSound</button>
23+
<button onClick="closeSound()">closeSound</button>
24+
<button onClick="startSave()">startSave</button>
25+
<button onClick="stopSave()">stopSave</button>
26+
<button onClick="startTalk()">开始对讲</button>
27+
<button onClick="stopTalk()">结束对讲</button>
2828
</div>
2929
</div>
3030
<script>
3131
var playr = new EZUIKit.EZUIKitPlayer({
3232
id: 'video-container', // 视频容器ID
33-
accessToken: 'at.9qq8pk2c1b678ko06xs3p7emcbs0esju-2o9y4h8ra2-0o71n3u-pzelt3dwv',
33+
accessToken: 'at.b420ixg49b8pol288ox3aym6d1fevi8a-13k7ff3vj7-0bhl0be-igxj9kpdu',
3434
url: 'ezopen://open.ys7.com/D88600067/1.live',
3535
template: 'simple', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版;
3636
autoplay: true,
3737
// 视频上方头部控件
38-
// header: ['capturePicture','save','zoom'], // 如果templete参数不为simple,该字段将被覆盖
38+
header: ['capturePicture','save','zoom'], // 如果templete参数不为simple,该字段将被覆盖
3939
// 视频下方底部控件
4040
footer: ['talk','broadcast','hd','fullScreen'], // 如果template参数不为simple,该字段将被覆盖
4141
// audio: 1, // 是否默认开启声音 0 - 关闭 1 - 开启
4242
// plugin: ['talk'], // 加载插件,talk-对讲
43-
// controls: true,//['play','voice','hd','fullScreen'], // 视频控制相关控件,如果template参数不为simple,该字段将被覆盖
43+
// controls: true, //['play','voice','hd','fullScreen'], // 视频控制相关控件,如果template参数不为simple,该字段将被覆盖
4444
openSoundCallBack: (data) => console.log("开启声音回调",data),
4545
closeSoundCallBack: (data) => console.log("关闭声音回调",data),
4646
startSaveCallBack: (data) => console.log("开始录像回调",data),
@@ -54,7 +54,61 @@ <h2>视频模式使用示例:</h2>
5454
handleTalkError: (data) = function(){console.log("对讲失败",data)},
5555
width:375,
5656
height:200,
57-
})
57+
});
58+
function play() {
59+
var playPromise = playr.play();
60+
playPromise.then((data)=>{
61+
console.log("promise 获取 数据",data)
62+
})
63+
}
64+
function stop() {
65+
var stopPromise = playr.stop();
66+
stopPromise.then((data)=>{
67+
console.log("promise 获取 数据",data)
68+
})
69+
}
70+
function getOSDTime() {
71+
var getOSDTimePromise = playr.getOSDTime();
72+
getOSDTimePromise.then((data)=>{
73+
console.log("promise 获取 数据",data)
74+
})
75+
}
76+
function getOSDTime2() {
77+
var getOSDTimePromise = playr2.getOSDTime();
78+
getOSDTimePromise.then((data)=>{
79+
console.log("promise 获取 数据",data)
80+
})
81+
}
82+
function capturePicture() {
83+
var capturePicturePromise = playr.capturePicture();
84+
capturePicturePromise.then((data)=>{
85+
console.log("promise 获取 数据",data)
86+
})
87+
}
88+
function openSound() {
89+
var openSoundPromise = playr.openSound();
90+
openSoundPromise.then((data)=>{
91+
console.log("promise 获取 数据",data)
92+
})
93+
}
94+
function closeSound() {
95+
var closeSoundPromise = playr.closeSound();
96+
closeSoundPromise.then((data)=>{
97+
console.log("promise 获取 数据",data)
98+
})
99+
}
100+
function startSave() {
101+
var startSavePromise = playr.startSave();
102+
startSavePromise.then((data)=>{
103+
console.log("promise 获取 数据",data)
104+
})
105+
}
106+
function stopSave() {
107+
var stopSavePromise = playr.stopSave();
108+
stopSavePromise.then((data)=>{
109+
console.log("promise 获取 数据",data)
110+
})
111+
}
58112
</script>
59113
</body>
60114
</html>

ezuikit.js

Lines changed: 80 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1183,30 +1183,69 @@
11831183
if (typeof data === 'string') {
11841184
this.opt.url = data;
11851185
}
1186-
11871186
player.postMessage({
11881187
action: "play",
11891188
accessToken: this.opt.accessToken,
11901189
url: this.opt.url
11911190
}, domain + "/ezopen/h5/iframe");
1191+
var _this = this;
1192+
var promise = new Promise(function(resolve,reject) {
1193+
window.addEventListener("message", function (event) {
1194+
var playId = _this.opt.id;
1195+
if (playId == event.data.id && event.data.type === 'handleSuccess') {
1196+
resolve(event.data);
1197+
}
1198+
});
1199+
});
1200+
return promise;
11921201
};
11931202

11941203
EZUIKitPlayer.prototype.stop = function () {
11951204
var id = 'EZUIKitPlayer-' + this.opt.id;
11961205
var player = document.getElementById(id).contentWindow;
11971206
player.postMessage("stop", domain + "/ezopen/h5/iframe");
1207+
var _this = this;
1208+
var promise = new Promise(function(resolve,reject) {
1209+
window.addEventListener("message", function (event) {
1210+
var playId = _this.opt.id;
1211+
if (playId == event.data.id && event.data.type === 'stop') {
1212+
resolve(event.data);
1213+
}
1214+
});
1215+
});
1216+
return promise;
11981217
};
11991218

12001219
EZUIKitPlayer.prototype.openSound = function () {
12011220
var id = 'EZUIKitPlayer-' + this.opt.id;
12021221
var player = document.getElementById(id).contentWindow;
12031222
player.postMessage("openSound", domain + "/ezopen/h5/iframe");
1223+
var _this = this;
1224+
var promise = new Promise(function(resolve,reject) {
1225+
window.addEventListener("message", function (event) {
1226+
var playId = _this.opt.id;
1227+
if (playId == event.data.id && event.data.type === 'openSound') {
1228+
resolve(event.data);
1229+
}
1230+
});
1231+
});
1232+
return promise;
12041233
};
12051234

12061235
EZUIKitPlayer.prototype.closeSound = function () {
12071236
var id = 'EZUIKitPlayer-' + this.opt.id;
12081237
var player = document.getElementById(id).contentWindow;
12091238
player.postMessage("closeSound", domain + "/ezopen/h5/iframe");
1239+
var _this = this;
1240+
var promise = new Promise(function(resolve,reject) {
1241+
window.addEventListener("message", function (event) {
1242+
var playId = _this.opt.id;
1243+
if (playId == event.data.id && event.data.type === 'closeSound') {
1244+
resolve(event.data);
1245+
}
1246+
});
1247+
});
1248+
return promise;
12101249
};
12111250

12121251
EZUIKitPlayer.prototype.startSave = function (fileName) {
@@ -1216,12 +1255,32 @@
12161255
action: "startSave",
12171256
fileName: fileName || 'default'
12181257
}, domain + "/ezopen/h5/iframe");
1258+
var _this = this;
1259+
var promise = new Promise(function(resolve,reject) {
1260+
window.addEventListener("message", function (event) {
1261+
var playId = _this.opt.id;
1262+
if (playId == event.data.id && event.data.type === 'startSave') {
1263+
resolve(event.data);
1264+
}
1265+
});
1266+
});
1267+
return promise;
12191268
};
12201269

12211270
EZUIKitPlayer.prototype.stopSave = function () {
12221271
var id = 'EZUIKitPlayer-' + this.opt.id;
12231272
var player = document.getElementById(id).contentWindow;
12241273
player.postMessage("stopSave", domain + "/ezopen/h5/iframe");
1274+
var _this = this;
1275+
var promise = new Promise(function(resolve,reject) {
1276+
window.addEventListener("message", function (event) {
1277+
var playId = _this.opt.id;
1278+
if (playId == event.data.id && event.data.type === 'stopSave') {
1279+
resolve(event.data);
1280+
}
1281+
});
1282+
});
1283+
return promise;
12251284
};
12261285

12271286
EZUIKitPlayer.prototype.fullScreen = function () {
@@ -1340,6 +1399,16 @@
13401399
fileName: fileName || 'default',
13411400
isUndownload: isUndownload,
13421401
}, domain + "/ezopen/h5/iframe");
1402+
var _this = this;
1403+
var promise = new Promise(function(resolve,reject) {
1404+
window.addEventListener("message", function (event) {
1405+
var playId = _this.opt.id;
1406+
if (playId == event.data.id && event.data.type === 'capturePicture') {
1407+
resolve(event.data);
1408+
}
1409+
});
1410+
});
1411+
return promise;
13431412
};
13441413

13451414
EZUIKitPlayer.prototype.enableZoom = function () {
@@ -1358,6 +1427,16 @@
13581427
var id = 'EZUIKitPlayer-' + this.opt.id;
13591428
var player = document.getElementById(id).contentWindow;
13601429
player.postMessage("getOSDTime", domain + "/ezopen/h5/iframe");
1430+
var _this = this;
1431+
var promise = new Promise(function(resolve,reject) {
1432+
window.addEventListener("message", function (event) {
1433+
var playId = _this.opt.id;
1434+
if (playId == event.data.id && event.data.type === 'getOSDTime') {
1435+
resolve(event.data);
1436+
}
1437+
});
1438+
});
1439+
return promise;
13611440
};
13621441

13631442
EZUIKitPlayer.prototype.autoResize = function () {

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "ezuikit-js",
3-
"version": "0.1.8",
3+
"version": "0.2.0",
44
"description": "ezuikit javascript for npm",
55
"main": "ezuikit.js",
66
"scripts": {

0 commit comments

Comments
 (0)