ezuikit-js 0.4.9 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/README.md +356 -61
- package/demos/base-demo/base.html +111 -0
- package/demos/base-demo/ezuikit.js +859 -149
- package/demos/base-demo/index.html +54 -56
- package/demos/base-demo/mobileLive.html +111 -0
- package/demos/base-demo/mobileRec.html +110 -0
- package/demos/base-demo/multi.html +123 -0
- package/demos/base-demo/pcLive.html +111 -0
- package/demos/base-demo/pcRec.html +110 -0
- package/demos/base-demo/template.html +118 -0
- package/demos/base-demo/themeData.html +219 -0
- package/demos/react-demo/package-lock.json +16542 -27
- package/demos/react-demo/package.json +1 -1
- package/demos/react-demo/src/App.js +14 -20
- package/demos/vue-demo/package.json +1 -1
- package/demos/vue-demo/src/components/EZUIKitJs.vue +15 -28
- package/ezuikit.js +105 -22
- package/package.json +1 -1
- package/ezuikit/344/275/277/347/224/250/350/257/264/346/230/216.md +0 -0
package/CHANGELOG.md
ADDED
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@ $ npm install ezuikit-js
|
|
|
18
18
|
import EZUIKit from 'ezuikit-js';
|
|
19
19
|
```
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
#### 如果你使用原生方法,可以通过标签引用
|
|
22
22
|
```
|
|
23
23
|
<script src="./ezuikit.js"></script>
|
|
24
24
|
```
|
|
@@ -32,98 +32,393 @@ import EZUIKit from 'ezuikit-js';
|
|
|
32
32
|
<div id="video-container"></div>
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
播放器初始化
|
|
36
|
-
|
|
35
|
+
## 播放器初始化
|
|
36
|
+
### 直播
|
|
37
|
+
```
|
|
38
|
+
var player = new EZUIKit.EZUIKitPlayer({
|
|
39
|
+
id: 'video-container', // 视频容器ID
|
|
40
|
+
accessToken: 'at.3bvmj4ycamlgdwgw1ig1jruma0wpohl6-48zifyb39c-13t5am6-yukyi86mz',
|
|
41
|
+
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
|
42
|
+
width: 600,
|
|
43
|
+
height: 400,
|
|
44
|
+
})
|
|
45
|
+
```
|
|
46
|
+
### 回放
|
|
37
47
|
```
|
|
38
48
|
var player = new EZUIKit.EZUIKitPlayer({
|
|
39
49
|
id: 'video-container', // 视频容器ID
|
|
50
|
+
width: 600,
|
|
51
|
+
height: 400,
|
|
40
52
|
accessToken: 'at.3bvmj4ycamlgdwgw1ig1jruma0wpohl6-48zifyb39c-13t5am6-yukyi86mz',
|
|
41
|
-
url: 'ezopen://open.ys7.com/
|
|
53
|
+
url: 'ezopen://open.ys7.com/G39444019/1.rec'
|
|
42
54
|
})
|
|
43
55
|
```
|
|
56
|
+
#### tips
|
|
57
|
+
为方便开发者快速接入
|
|
58
|
+
|
|
59
|
+
我们提供了测试accessToken,测试播放地址,并提供了几种常用场景使用示例。你可以通过使用示例,使用测试播放地址,测试accessToken,在你的应用快速接入。
|
|
60
|
+
|
|
61
|
+
<b>测试播放地址:</b> ezopen://open.ys7.com/G39444019/1.live
|
|
62
|
+
|
|
63
|
+
你可以通过以下地址获取到测试accessToken <a href="https://open.ys7.com/jssdk/ezopen/demo/token" target="_blank">获取测试accessToken</a> 用来播放上述测试播放地址。
|
|
64
|
+
|
|
65
|
+
### 使用示例
|
|
66
|
+
<b>基本使用:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/base.html" target="_blank">基本使用示例</a>
|
|
67
|
+
|
|
68
|
+
<b>自定义主题:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/template.html" target="_blank">自定义主题示例</a>
|
|
69
|
+
|
|
70
|
+
<b>本地主题配置:</b> <a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/themeData.html" target="_blank">本地主题配置示例</a>
|
|
71
|
+
|
|
72
|
+
<b>PC端预览-固定主题:</b>
|
|
73
|
+
<a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/pcLive.html" target="_blank">PC端预览-固定主题示例</a>
|
|
74
|
+
|
|
75
|
+
<b>PC端回放-固定主题:</b>
|
|
76
|
+
<a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/pcRec.html" target="_blank">PC端回放-固定主题示例</a>
|
|
77
|
+
|
|
78
|
+
<b>移动端预览-固定主题:</b>
|
|
79
|
+
<a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/mobileLive.html" target="_blank">移动端预览-固定主题示例</a>
|
|
80
|
+
|
|
81
|
+
<b>移动端回放-固定主题:</b>
|
|
82
|
+
<a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/mobileRec.html" target="_blank">移动端回放-固定主题示例</a>
|
|
83
|
+
|
|
84
|
+
<b>单页面多实例(视频多窗口):</b>
|
|
85
|
+
<a href="https://github.com/Ezviz-OpenBiz/EZUIKit-JavaScript-npm/blob/master/demos/base-demo/multi.html" target="_blank">单页面多实例(视频多窗口)示例</a>
|
|
86
|
+
|
|
87
|
+
#### 附录: 初始化参数说明
|
|
88
|
+
|
|
89
|
+
<table>
|
|
90
|
+
<tr><th>参数名</th><th>类型</th><th>描述</th><th>是否必选</th></tr>
|
|
91
|
+
<tr><td>id</td><td>String</td><td>播放器容器DOM的id</td><td>Y</td></tr>
|
|
92
|
+
<tr><td>accessToken</td><td>String</td><td>授权过程获取的access_token</td><td>Y</td></tr>
|
|
93
|
+
<tr><td>url</td><td>String</td><td>
|
|
94
|
+
|
|
95
|
+
#### 直播
|
|
96
|
+
##### 标清
|
|
97
|
+
ezopen://open.ys7.com/${设备序列号}/{通道号}.live<br/>
|
|
98
|
+
##### 高清
|
|
99
|
+
ezopen://open.ys7.com/${设备序列号}/{通道号}.hd.live<br/>
|
|
100
|
+
|
|
101
|
+
#### 回放
|
|
102
|
+
##### sd卡回放
|
|
103
|
+
初始化参数 url值为:<br/>
|
|
104
|
+
ezopen://open.ys7.com/${设备序列号}/{通道号}.rec?begin=yyyyMMddhhmmss
|
|
105
|
+
##### 云存储回放
|
|
106
|
+
初始化参数 url值为:<br/>
|
|
107
|
+
ezopen://open.ys7.com/${设备序列号}/{通道号}.cloud.rec?begin=yyyyMMddhhmmss
|
|
108
|
+
视频ezopen协议播放地址 详见:<a href="http://open.ys7.com/doc/zh/readme/ezopen.html" target="_blank">ezopen协议</a> </td><td>Y</td></tr>
|
|
109
|
+
<tr><td>audio</td><td>int</td><td>是否默认开启声音 1:打开(默认) 0:关闭 </td><td>N</td></tr>
|
|
110
|
+
<tr><td>width</td><td>int</td><td>视频宽度,默认值为容器容器DOM宽度 </td><td>Y</td></tr>
|
|
111
|
+
<tr><td>height</td><td>int</td><td>视频高度,默认值为容器容器DOM高度</td><td>Y</td></tr>
|
|
112
|
+
<tr><td>template</td><td>String</td><td>
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
<table style="display:inline-block;width:700px">
|
|
116
|
+
<tr><th>模板值</th><th>描述</th></tr>
|
|
117
|
+
|
|
118
|
+
<tr><td>simple</td><td>极简版 *固定模板 仅包含视频播放窗口,创建实例后通过方法集控制视频播<br />放相关功能</td></tr>
|
|
119
|
+
|
|
120
|
+
<tr><td>standard</td><td>标准版; *固定模板 包含视频窗口,叠加了停止,录制,全屏控件(通过<br />控件快捷调用方法集合控制视频播放相关功能,但你仍然可以通过方法集直接控制视频播放相关功<br />能。下同)</td></tr>
|
|
121
|
+
|
|
122
|
+
<tr><td>security</td><td>安防版(预览回放); *固定模板 包含视频窗口,叠加了录制,全屏控件,<br />标清/高清切换,预览录制切换控件*</td></tr>
|
|
123
|
+
<tr><td>voice</td><td>语音版; *固定模板 包含视频窗口,叠加了录制,全屏控件,语音播报,语音<br />对讲控件*</td></tr>
|
|
124
|
+
<tr><td>pcLive</td><td> *固定模板 按钮列表,颜色,底部头部背景色固定,可用于pc端预览,如需<br />修改按钮配置,头部底部背景色,可参考 {{自定义themeId}},或者使用<br />themeData本地配置*</td></tr>
|
|
125
|
+
<tr><td>pcRec</td><td> *固定模板 按钮列表,颜色,底部头部背景色固定, 可用于pc端回放,如需<br />修改按钮配置,头部底部背景色,可参考 {{自定义themeId}},或者使用themeData<br />本地配置*</td></tr>
|
|
126
|
+
<tr><td>mobileLive</td><td> *固定模板 按钮列表,颜色,底部头部背景色固定,可用于移动端预<br />览,如需修改按钮配置,头部底部背景色,可参考 {{自定义themeId}},或者使用themeData<br />本地配置*</td></tr>
|
|
127
|
+
<tr><td>mobileRec</td><td>*固定模板 按钮列表,颜色,底部头部背景色固定, 可用于移动端回放,<br />如需修改按钮配置,头部底部背景色,可参考 {{自定义themeId}},或者使用themeData<br />本地配置*</td></tr>
|
|
128
|
+
<tr><td>{{自定义themeId}}</td><td>(建议使用)开放平台提供了查询账号下主题列表,增加主题<br />,修改主题,删除主题接口。<br />你可以通过调用开放平台提供的接口自定义创建多个主题,根据主题Id动<br />态渲染头部,底部样式,按钮隐藏显示,排布及按钮样式<br />
|
|
129
|
+
<a href="https://resource.eziot.com/group2/M00/00/79/CtwQFmI8d_mAC8-eAAA1PBGvsds71.json" target="_blank">接口示例下载(请导入postman查看示例)</a>
|
|
130
|
+
</td></tr>
|
|
131
|
+
<tr><td>theme</td><td>自定义主题,<a href="https://open.ys7.com/console/ezopenIframe.html" target="_blank">开放平台控制台配置</a><br />(v0.3.0版本及以上支持,建议使用 自定义themeId,或者使用themeData本地<br />配置);</td></tr>
|
|
132
|
+
</table>
|
|
133
|
+
|
|
134
|
+
</td></tr>
|
|
135
|
+
<tr><td>themeData</td><td>Object</td><td>
|
|
136
|
+
themeData将主题数据本地化,设置本地数据,需要删除template参数 <br />
|
|
137
|
+
你可以通过themeData修改按钮位置,颜色,头部底部颜色等配置。
|
|
138
|
+
|
|
139
|
+
配置示例:
|
|
140
|
+
|
|
141
|
+
<pre><code>
|
|
142
|
+
|
|
143
|
+
{
|
|
144
|
+
"header": {
|
|
145
|
+
"color": "#1890ff",
|
|
146
|
+
"activeColor": "#FFFFFF",
|
|
147
|
+
"backgroundColor": "#000000",
|
|
148
|
+
"btnList": [
|
|
149
|
+
{
|
|
150
|
+
"iconId": "deviceID",
|
|
151
|
+
"part": "left",
|
|
152
|
+
"defaultActive": 0,
|
|
153
|
+
"memo": "顶部设备名称",
|
|
154
|
+
"isrender": 1
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"iconId": "deviceName",
|
|
158
|
+
"part": "left",
|
|
159
|
+
"defaultActive": 0,
|
|
160
|
+
"memo": "顶部设备ID",
|
|
161
|
+
"isrender": 1
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"iconId": "cloudRec",
|
|
165
|
+
"part": "right",
|
|
166
|
+
"defaultActive": 0,
|
|
167
|
+
"memo": "顶部设备ID",
|
|
168
|
+
"isrender": 0
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"iconId": "rec",
|
|
172
|
+
"part": "right",
|
|
173
|
+
"defaultActive": 0,
|
|
174
|
+
"memo": "顶部设备ID",
|
|
175
|
+
"isrender": 0
|
|
176
|
+
}
|
|
177
|
+
]
|
|
178
|
+
},
|
|
179
|
+
"footer": {
|
|
180
|
+
"color": "#FFFFFF",
|
|
181
|
+
"activeColor": "#1890FF",
|
|
182
|
+
"backgroundColor": "#00000021",
|
|
183
|
+
"btnList": [
|
|
184
|
+
{
|
|
185
|
+
"iconId": "play",
|
|
186
|
+
"part": "left",
|
|
187
|
+
"defaultActive": 1,
|
|
188
|
+
"memo": "播放",
|
|
189
|
+
"isrender": 1
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"iconId": "capturePicture",
|
|
193
|
+
"part": "left",
|
|
194
|
+
"defaultActive": 0,
|
|
195
|
+
"memo": "截屏按钮",
|
|
196
|
+
"isrender": 1
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"iconId": "sound",
|
|
200
|
+
"part": "left",
|
|
201
|
+
"defaultActive": 0,
|
|
202
|
+
"memo": "声音按钮",
|
|
203
|
+
"isrender": 1
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
"iconId": "pantile",
|
|
207
|
+
"part": "left",
|
|
208
|
+
"defaultActive": 0,
|
|
209
|
+
"memo": "云台控制按钮",
|
|
210
|
+
"isrender": 1
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"iconId": "recordvideo",
|
|
214
|
+
"part": "left",
|
|
215
|
+
"defaultActive": 0,
|
|
216
|
+
"memo": "录制按钮",
|
|
217
|
+
"isrender": 1
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"iconId": "talk",
|
|
221
|
+
"part": "left",
|
|
222
|
+
"defaultActive": 0,
|
|
223
|
+
"memo": "对讲按钮",
|
|
224
|
+
"isrender": 1
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"iconId": "hd",
|
|
228
|
+
"part": "right",
|
|
229
|
+
"defaultActive": 0,
|
|
230
|
+
"memo": "清晰度切换按钮",
|
|
231
|
+
"isrender": 1
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"iconId": "webExpend",
|
|
235
|
+
"part": "right",
|
|
236
|
+
"defaultActive": 0,
|
|
237
|
+
"memo": "网页全屏按钮",
|
|
238
|
+
"isrender": 1
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
"iconId": "expend",
|
|
242
|
+
"part": "right",
|
|
243
|
+
"defaultActive": 0,
|
|
244
|
+
"memo": "全局全屏按钮",
|
|
245
|
+
"isrender": 1
|
|
246
|
+
}
|
|
247
|
+
]
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
</code></pre>
|
|
251
|
+
|
|
252
|
+
</td><td>N</td></tr>
|
|
253
|
+
<tr><td>plugin</td><td>String</td><td>按需加载插件,可选值: talk:对讲,示例:plugin:["talk"] </td><td>N</td></tr>
|
|
254
|
+
<tr><td>handleSuccess</td><td>function</td><td>自动播放成功回调</td><td>N</td></tr>
|
|
255
|
+
<tr><td>poster</td><td>String</td><td>视频默认封面 版本号> v0.4.6 </td><td>N</td></tr>
|
|
256
|
+
</table>
|
|
257
|
+
|
|
44
258
|
|
|
45
259
|
### 方法调用
|
|
46
|
-
>
|
|
260
|
+
> 同步方法(方式1)
|
|
261
|
+
> 方法支持通过promise回调,可通过回调方式执行下一步动作(方式2)。
|
|
47
262
|
|
|
263
|
+
#### 开始播放
|
|
48
264
|
```
|
|
49
|
-
1
|
|
50
|
-
|
|
51
|
-
2
|
|
265
|
+
// 方式1
|
|
266
|
+
player.play();
|
|
267
|
+
// 方式2
|
|
268
|
+
player.play()
|
|
52
269
|
.then(()=>{
|
|
53
270
|
console.log("执行播放成功后其他动作");
|
|
54
271
|
});
|
|
55
|
-
|
|
56
272
|
```
|
|
57
|
-
|
|
273
|
+
#### 停止播放
|
|
58
274
|
|
|
59
275
|
```
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
276
|
+
// 方式1
|
|
277
|
+
player.stop();
|
|
278
|
+
// 方式2
|
|
279
|
+
player.stop()
|
|
280
|
+
.then(()=>{
|
|
281
|
+
console.log("执行停止成功后其他动作");
|
|
64
282
|
});
|
|
65
283
|
```
|
|
284
|
+
#### 开启声音
|
|
66
285
|
|
|
67
|
-
|
|
286
|
+
```
|
|
287
|
+
// 方式1
|
|
288
|
+
player.openSound();
|
|
289
|
+
// 方式2
|
|
290
|
+
player.openSound()
|
|
291
|
+
.then(()=>{
|
|
292
|
+
console.log("执行开启声音成功后其他动作");
|
|
293
|
+
});
|
|
294
|
+
```
|
|
295
|
+
#### 开始录制
|
|
68
296
|
|
|
69
297
|
```
|
|
70
|
-
|
|
298
|
+
// 方式1
|
|
299
|
+
player.startSave("唯一文件名");
|
|
300
|
+
// 方式2
|
|
301
|
+
player.startSave("唯一文件名")
|
|
71
302
|
.then(()=>{
|
|
72
|
-
|
|
303
|
+
console.log("执行开始录制成功后其他动作");
|
|
73
304
|
});
|
|
305
|
+
```
|
|
306
|
+
#### 停止录制并下载文件
|
|
74
307
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
player.
|
|
308
|
+
```
|
|
309
|
+
// 方式1
|
|
310
|
+
player.stopSave();
|
|
311
|
+
// 方式2
|
|
312
|
+
player.stopSave()
|
|
78
313
|
.then(()=>{
|
|
79
|
-
|
|
314
|
+
console.log("执行停止录制成功后其他动作");
|
|
315
|
+
});
|
|
316
|
+
```
|
|
317
|
+
#### 抓图
|
|
318
|
+
|
|
319
|
+
```
|
|
320
|
+
// 方式1 - 下载到本地
|
|
321
|
+
player.capturePicture("文件名");
|
|
322
|
+
// 方式2 - 返回base64格式
|
|
323
|
+
const capCallback = (data) => {
|
|
324
|
+
console.log("data",data)
|
|
325
|
+
}
|
|
326
|
+
player.capturePicture('default',capCallback)
|
|
327
|
+
```
|
|
328
|
+
#### 开始对讲
|
|
329
|
+
|
|
330
|
+
```
|
|
331
|
+
player.startTalk();
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
#### 结束对讲
|
|
335
|
+
|
|
336
|
+
```
|
|
337
|
+
player.stopTalk();
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
#### 全屏
|
|
341
|
+
|
|
342
|
+
```
|
|
343
|
+
player.fullScreen();
|
|
344
|
+
```
|
|
345
|
+
#### 取消全屏
|
|
346
|
+
|
|
347
|
+
```
|
|
348
|
+
player.cancelFullScreen();
|
|
349
|
+
```
|
|
350
|
+
#### 获取OSD时间
|
|
351
|
+
|
|
352
|
+
```
|
|
353
|
+
player.getOSDTime()
|
|
354
|
+
.then((time)=>{
|
|
355
|
+
console.log("获取到的当前播放时间", time);
|
|
80
356
|
});
|
|
81
|
-
|
|
82
357
|
```
|
|
83
358
|
|
|
84
|
-
|
|
85
|
-
|
|
359
|
+
#### 切换地址播放
|
|
360
|
+
|
|
361
|
+
> 可用于在播放中切换设备,切换播放参数,以及直播切换回放等
|
|
362
|
+
|
|
363
|
+
```
|
|
364
|
+
player.changePlayUrl(options)
|
|
365
|
+
.then(()=>{
|
|
366
|
+
console.log("切换成功")
|
|
367
|
+
});
|
|
368
|
+
```
|
|
369
|
+
options参数说明
|
|
86
370
|
|
|
87
371
|
|参数名|类型|描述|是否必选|
|
|
88
372
|
|:--|:--|:--|:--|
|
|
89
|
-
|
|
|
373
|
+
|type| String| 播放地址类型,"live":预览,"rec":回放;“cloud.rec”:云存储回放| Y|
|
|
90
374
|
|accessToken| String| 授权过程获取的access_token| Y|
|
|
91
|
-
|
|
|
92
|
-
|
|
|
93
|
-
|
|
|
94
|
-
|
|
|
95
|
-
|
|
|
96
|
-
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
375
|
+
|deviceSerial | String | 设备序列号,存在英文字母的设备序列号,字母需为大写 | Y |
|
|
376
|
+
|channelNo | int | 通道号 | Y |
|
|
377
|
+
|hd | boolean | 是否为高清 true-主码流(高清) false-子码流(标清) | Y |
|
|
378
|
+
|validCode |String| 设备验证码(加密设备播放需要输入验证码) |Y|
|
|
379
|
+
|begin| String | type类型为回放有效,开始时间 格式为“YYYYMMDDHHmmss” |N|
|
|
380
|
+
|end| String | type类型为回放有效,结束时间 格式为 “YYYYMMDDHHmmss” |N|
|
|
381
|
+
|
|
382
|
+
#### 设置封面
|
|
383
|
+
|
|
384
|
+
>你可以在初始化时,通过参数poster设置默认封面
|
|
385
|
+
>实例初始化后可以调用设置封面方法再次更改封面
|
|
386
|
+
|
|
387
|
+
```
|
|
388
|
+
player.setPoster(pictureUrl)
|
|
389
|
+
.then(()=>{
|
|
390
|
+
console.log("更改封面成功");
|
|
391
|
+
});
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
#### 开启电子放大
|
|
395
|
+
|
|
396
|
+
```
|
|
397
|
+
// 方式1
|
|
398
|
+
player.enableZoom();
|
|
399
|
+
// 方式2
|
|
400
|
+
player.enableZoom()
|
|
401
|
+
.then(()=>{
|
|
402
|
+
console.log("开启电子放大成功");
|
|
403
|
+
});
|
|
404
|
+
```
|
|
405
|
+
#### 关闭电子放大
|
|
406
|
+
|
|
407
|
+
```
|
|
408
|
+
// 方式1
|
|
409
|
+
player.closeZoom();
|
|
410
|
+
// 方式2
|
|
411
|
+
player.closeZoom()
|
|
412
|
+
.then(()=>{
|
|
413
|
+
console.log("关闭电子放大成功");
|
|
414
|
+
});
|
|
415
|
+
```
|
|
416
|
+
|
|
417
|
+
#### 重置画面宽高
|
|
418
|
+
|
|
419
|
+
```
|
|
420
|
+
player.reSize(width, height);
|
|
421
|
+
```
|
|
127
422
|
|
|
128
423
|
### 使用示例
|
|
129
424
|
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta charset="UTF-8">
|
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
|
|
7
|
+
<title>Document</title>
|
|
8
|
+
<script src="./ezuikit.js"></script>
|
|
9
|
+
</head>
|
|
10
|
+
|
|
11
|
+
<body>
|
|
12
|
+
<div className="demo">
|
|
13
|
+
<h2>视频模式使用示例:</h2>
|
|
14
|
+
<div id="video-container" style="width:600px;">
|
|
15
|
+
</div>
|
|
16
|
+
<div>
|
|
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>
|
|
28
|
+
<button onClick="fullScreen()">全屏</button>
|
|
29
|
+
</div>
|
|
30
|
+
<p style="font-style: italic;">播放多个视频,可初始化多个实例,参考:/demos/base-demo/multi-demo</p>
|
|
31
|
+
</div>
|
|
32
|
+
<script>
|
|
33
|
+
var playr;
|
|
34
|
+
fetch('https://open.ys7.com/jssdk/ezopen/demo/token')
|
|
35
|
+
.then(response => response.json())
|
|
36
|
+
.then(res => {
|
|
37
|
+
var accessToken = res.data.accessToken;
|
|
38
|
+
playr = new EZUIKit.EZUIKitPlayer({
|
|
39
|
+
id: 'video-container', // 视频容器ID
|
|
40
|
+
accessToken: accessToken,
|
|
41
|
+
url: 'ezopen://open.ys7.com/G39444019/1.live',
|
|
42
|
+
template: 'simple', // simple - 极简版;standard-标准版;security - 安防版(预览回放);voice-语音版; theme-可配置主题;
|
|
43
|
+
plugin: ['talk'], // 加载插件,talk-对讲
|
|
44
|
+
width: 600,
|
|
45
|
+
height: 400,
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
function fullScreen() {
|
|
49
|
+
var playPromise = playr.fullScreen();
|
|
50
|
+
playPromise.then((data) => {
|
|
51
|
+
console.log("promise 获取 数据", data)
|
|
52
|
+
})
|
|
53
|
+
}
|
|
54
|
+
function play() {
|
|
55
|
+
var playPromise = playr.play();
|
|
56
|
+
playPromise.then((data) => {
|
|
57
|
+
console.log("promise 获取 数据", data)
|
|
58
|
+
})
|
|
59
|
+
}
|
|
60
|
+
function stop() {
|
|
61
|
+
var stopPromise = playr.stop();
|
|
62
|
+
stopPromise.then((data) => {
|
|
63
|
+
console.log("promise 获取 数据", data)
|
|
64
|
+
})
|
|
65
|
+
}
|
|
66
|
+
function getOSDTime() {
|
|
67
|
+
var getOSDTimePromise = playr.getOSDTime();
|
|
68
|
+
getOSDTimePromise.then((data) => {
|
|
69
|
+
console.log("promise 获取 数据", data)
|
|
70
|
+
})
|
|
71
|
+
}
|
|
72
|
+
function getOSDTime2() {
|
|
73
|
+
var getOSDTimePromise = playr2.getOSDTime();
|
|
74
|
+
getOSDTimePromise.then((data) => {
|
|
75
|
+
console.log("promise 获取 数据", data)
|
|
76
|
+
})
|
|
77
|
+
}
|
|
78
|
+
function capturePicture() {
|
|
79
|
+
var capturePicturePromise = playr.capturePicture();
|
|
80
|
+
capturePicturePromise.then((data) => {
|
|
81
|
+
console.log("promise 获取 数据", data)
|
|
82
|
+
})
|
|
83
|
+
}
|
|
84
|
+
function openSound() {
|
|
85
|
+
var openSoundPromise = playr.openSound();
|
|
86
|
+
openSoundPromise.then((data) => {
|
|
87
|
+
console.log("promise 获取 数据", data)
|
|
88
|
+
})
|
|
89
|
+
}
|
|
90
|
+
function closeSound() {
|
|
91
|
+
var closeSoundPromise = playr.closeSound();
|
|
92
|
+
closeSoundPromise.then((data) => {
|
|
93
|
+
console.log("promise 获取 数据", data)
|
|
94
|
+
})
|
|
95
|
+
}
|
|
96
|
+
function startSave() {
|
|
97
|
+
var startSavePromise = playr.startSave();
|
|
98
|
+
startSavePromise.then((data) => {
|
|
99
|
+
console.log("promise 获取 数据", data)
|
|
100
|
+
})
|
|
101
|
+
}
|
|
102
|
+
function stopSave() {
|
|
103
|
+
var stopSavePromise = playr.stopSave();
|
|
104
|
+
stopSavePromise.then((data) => {
|
|
105
|
+
console.log("promise 获取 数据", data)
|
|
106
|
+
})
|
|
107
|
+
}
|
|
108
|
+
</script>
|
|
109
|
+
</body>
|
|
110
|
+
|
|
111
|
+
</html>
|