zwplayer-vue2x 1.0.32 → 1.0.34

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.
@@ -1,75 +0,0 @@
1
- // zwplayer tools
2
-
3
- const zwplayer_loadjs = function(id,url,cb) {
4
- let headNode = document.getElementsByTagName("head");
5
-
6
- if (headNode.length == 0) {
7
- headNode = document.createElement("head");
8
- let body = document.getElementsByTagName("body");
9
- if (body.length > 0) {
10
- body = body[0];
11
- document.insertBefore(headNode,body);
12
- }
13
- else {
14
- alert('Invalid html document: no HEAD tag');
15
- return false;
16
- }
17
- }
18
- else {
19
- headNode = headNode[0];
20
- const nodes = headNode.childNodes;
21
-
22
- for (let i = 0; i < nodes.length; i ++) {
23
- const node = nodes[i];
24
- if (node.nodeName.toUpperCase() === 'SCRIPT') {
25
- if (node.id && node.id == id) {
26
- if (node.getAttribute('loadstate') != 'true') {
27
- const checkLoad = function () {
28
- if (node.getAttribute('loadstate') != 'true') {
29
- setTimeout(checkLoad,50);
30
- }
31
- else {
32
- if (typeof cb == 'function') cb(id);
33
- }
34
- };
35
-
36
- setTimeout(checkLoad,50);
37
- return false;
38
- }
39
-
40
- if (typeof cb == 'function') cb(id);
41
- return true;
42
- }
43
- }
44
- }
45
- }
46
-
47
- const script = document.createElement("script");
48
-
49
- script.type = "text/javascript";
50
-
51
- if(script.readyState){ // IE
52
- script.onreadystatechange = function(){
53
- if(script.readyState == "loaded" || script.readyState == "complete"){
54
- script.onreadystatechange = null;
55
- script.setAttribute('loadstate','true');
56
- if (typeof cb == 'function') cb(id);
57
- }
58
- }
59
- }
60
- else {
61
- script.onload = function(){
62
- script.setAttribute('loadstate','true');
63
- script.setAttribute('charset','utf-8');
64
- if (typeof cb == 'function') cb(id);
65
- }
66
- }
67
- script.id = id;
68
- script.src = url;
69
-
70
- headNode.appendChild(script);
71
-
72
- return false;
73
- };
74
-
75
- module.exports.zwplayer_loadjs = zwplayer_loadjs;
@@ -1,393 +0,0 @@
1
- <!-- zwplayer for vue -->
2
- <script>
3
- // import { h } from 'vue'
4
- import { zwplayer_loadjs } from "./loadjs.js";
5
-
6
- const zwplayer_js_def = 'zwplayer/zwplayer.js?v=3.6';
7
-
8
- const availabe_props = {
9
- isLive: 'boolean',
10
- useOldFlv: 'boolean',
11
- useFlv: 'boolean',
12
- streamtype: 'string',
13
- hasAudio: 'boolean',
14
- hasVideo: 'boolean',
15
- xmc_url: 'string',
16
- fixedControlbar: 'boolean',
17
- nativecontrols: 'boolean',
18
- infoButton: 'boolean',
19
- speedButton: 'boolean',
20
- optionButton: 'boolean',
21
- snapshotButton: 'boolean',
22
- chapterButton: 'boolean',
23
- enableDanmu: 'boolean',
24
- useProgressTooltip: 'boolean',
25
- hidePlayBtn: 'boolean',
26
- disablePlayBtn: 'boolean',
27
- disableSeek: 'boolean',
28
- disableFullscreenWin: 'boolean',
29
- disablePicInPic: 'boolean',
30
- disableVolumeControl: 'boolean',
31
- lostFocusPause: 'boolean',
32
- autoSmallWindow: 'boolean',
33
- localPlayback: 'boolean',
34
- recordButton: 'boolean',
35
- segmentButton: 'boolean',
36
- disableMutedConfirm: 'boolean',
37
- keepAudioWindow: 'boolean',
38
- lang: 'string',
39
- thumbnails: 'object',
40
- sendDanmu: 'function',
41
- danmuBarId: 'string',
42
- fluid: 'boolean',
43
- poster: 'string',
44
- logo: 'object|string',
45
- ratio: 'string|number',
46
- width: 'string|number',
47
- height: 'string|number'
48
- };
49
-
50
- export default {
51
- name: 'ZwPlayer',
52
- data () {
53
- return {
54
- zwplayer: null,
55
- nodename: 'ZwPlayer'
56
- }
57
- },
58
- props: {
59
- zwplayerlib: String,
60
- murl: String,
61
- nodeid: String,
62
- muted: Boolean,
63
- autoplay: {
64
- type: Boolean,
65
- default: true
66
- },
67
- videoprop: Object,
68
- videostyle: String,
69
- reconnect: {
70
- type: Boolean,
71
- default: true
72
- },
73
- controlbar: {
74
- type: Boolean,
75
- default: true
76
- },
77
- useProgressTooltip: {
78
- type: Boolean,
79
- default: true
80
- }
81
- },
82
-
83
- emits: ['oneterror', 'onmediaevent', 'onready', 'onFileSelected', 'onFileLoaded'],
84
- methods: {
85
- play(url, isLive, useOldFlv) {
86
- let vm = this;
87
-
88
- if (!url)
89
- url = this.murl;
90
- if (!vm.zwplayer)
91
- return;
92
-
93
- vm.zwplayer.play(url, isLive, useOldFlv);
94
- },
95
- stop() {
96
- let vm = this;
97
-
98
- if (vm.zwplayer) {
99
- vm.zwplayer.stop();
100
- }
101
- },
102
- pause() {
103
- let vm = this;
104
-
105
- if (vm.zwplayer) {
106
- vm.zwplayer.pause();
107
- }
108
- },
109
- resume() {
110
- let vm = this;
111
- if (vm.zwplayer) {
112
- vm.zwplayer.resume();
113
- }
114
- },
115
- getDuration() {
116
- let vm = this;
117
- if (vm.zwplayer) {
118
- return vm.zwplayer.getDuration();
119
- }
120
- return undefined;
121
- },
122
-
123
- getCurrentTime() {
124
- let vm = this;
125
- if (vm.zwplayer) {
126
- return vm.zwplayer.CurrentTime;
127
- }
128
- return undefined;
129
- },
130
-
131
- seekTime(time) {
132
- let vm = this;
133
-
134
- if (vm.zwplayer) {
135
- vm.zwplayer.seekTime(time);
136
- }
137
- },
138
- destroy() {
139
- let vm = this;
140
-
141
- if (vm.zwplayer) {
142
- vm.zwplayer.destroy();
143
- }
144
- },
145
- setplaystate(bPlaying) {
146
- let vm = this;
147
-
148
- if (vm.zwplayer) {
149
- vm.zwplayer.setplaystate(bPlaying);
150
- }
151
- },
152
-
153
- setEnableDanmu(bEnable) {
154
- let vm = this;
155
-
156
- if (vm.zwplayer) {
157
- vm.zwplayer.setEnableDanmu(bEnable);
158
- }
159
- },
160
-
161
- appendDanmu(msgObj, setting) {
162
- let vm = this;
163
-
164
- if (vm.zwplayer) {
165
- vm.zwplayer.appendDanmu(msgObj, setting);
166
- }
167
- },
168
-
169
- setChapters(chapters) {
170
- let vm = this;
171
-
172
- if (vm.zwplayer) {
173
- vm.zwplayer.setChapters(chapters);
174
- }
175
- },
176
-
177
- addSubtitle(subtitleUrl, pos, title) {
178
- let vm = this;
179
-
180
- if (vm.zwplayer) {
181
- vm.zwplayer.addSubtitle(subtitleUrl, pos, title);
182
- }
183
- },
184
-
185
- removeSubtitle() {
186
- let vm = this;
187
-
188
- if (vm.zwplayer) {
189
- vm.zwplayer.removeSubtitle();
190
- }
191
- },
192
-
193
- buildDanmuControlbar(parentId, className) {
194
- let vm = this;
195
-
196
- if (vm.zwplayer) {
197
- vm.zwplayer.buildDanmuControlbar(parentId, className);
198
- }
199
- },
200
-
201
- notifyResize(width, height) {
202
- let vm = this;
203
-
204
- if (vm.zwplayer) {
205
- vm.zwplayer.notifyResize(width, height);
206
- }
207
- },
208
-
209
- setMute(bMute) {
210
- let vm = this;
211
-
212
- if (vm.zwplayer) {
213
- vm.zwplayer.setMuted(bMute);
214
- }
215
- },
216
-
217
- setullscr(bFullScr) {
218
- let vm = this;
219
-
220
- if (vm.zwplayer) {
221
- vm.is_fullscr = bFullScr;
222
- vm.zwplayer.setFullscreen(bFullScr);
223
- }
224
- },
225
- },
226
-
227
- computed: {
228
- CurrentTime: function() {
229
- let vm = this;
230
- if (vm.zwplayer) {
231
- return vm.zwplayer.CurrentTime;
232
- }
233
- return -1;
234
- }
235
- },
236
-
237
- render(createElement) {
238
- let playerid;
239
-
240
- // console.log('render');
241
- if (this.nodeid) {
242
- playerid = this.nodeid;
243
- }
244
- else {
245
- let now = (new Date()).getTime();
246
-
247
- if (!window.nextZWPlayerId) {
248
- window.nextZWPlayerId = 1000;
249
- }
250
- else {
251
- window.nextZWPlayerId++;
252
- }
253
- playerid = 'zwplayer-'+ window.nextZWPlayerId + '-' + now;
254
- }
255
-
256
- let playerWrap = createElement('div', {
257
- class: {'zwplayer-vue': true},
258
- attrs: {
259
- id: playerid,
260
- },
261
- }, []);
262
-
263
- if (playerWrap) {
264
- let vm = this;
265
- vm.playerid = playerid;
266
- }
267
-
268
- if (this.zwplayer && this.murl !== this.old_murl) {
269
- this.zwplayer.play(this.murl); // change movie url
270
- this.old_murl = this.murl;
271
- }
272
-
273
- return playerWrap;
274
- },
275
-
276
- mounted() {
277
- let vm = this;
278
- //console.log('mounted main');
279
- let zwplayer_js;
280
-
281
- if (vm.zwplayerlib)
282
- zwplayer_js = vm.zwplayerlib;
283
- else
284
- zwplayer_js = zwplayer_js_def;
285
-
286
- vm.rootElm = document.getElementById(vm.playerid);
287
- if (vm.rootElm) {
288
- vm.rootElm.style.width = '100%';
289
- vm.rootElm.style.height = '100%';
290
- vm.rootElm.style.margin = '0';
291
- vm.rootElm.style.padding = '0';
292
- }
293
-
294
- zwplayer_loadjs('zwplayer-core', zwplayer_js, function(jsid) {
295
- let url = '';
296
-
297
- if (!jsid) {
298
- //console.log('zwplayer_loadjs failed!');
299
- }
300
-
301
- if (vm.murl)
302
- url = vm.murl;
303
- else if (vm.videoprop && typeof vm.videoprop.url !== 'undefined')
304
- url = vm.videoprop.url;
305
- let videostyle = "width:100%;height:100%;";
306
- if (vm.videoprop && typeof vm.videoprop.videostyle !== 'undefined')
307
- videostyle = vm.videoprop.videostyle;
308
-
309
- let params = {
310
- url: url,
311
- playerElm: vm.rootElm,
312
- videostyle: videostyle,
313
- reconnect: vm.reconnect,
314
- autoplay: vm.autoplay,
315
- muted: vm.muted,
316
- controlbar: vm.controlbar,
317
- useProgressTooltip: vm.useProgressTooltip,
318
- onready: function() {
319
- vm.$emit('onready', this);
320
- },
321
- onnetclose: function() {
322
- vm.$emit('onnetclose', this);
323
- return true;
324
- },
325
- onFileSelected: function(event) {
326
- vm.$emit('onFileSelected', event, this);
327
- },
328
-
329
- onFileLoaded: function(event) {
330
- vm.$emit('onFileLoaded', event, this);
331
- },
332
- onneterror: function() {
333
- vm.$emit('onneterror', this);
334
- },
335
- onmediaevent: function(event) {
336
- vm.$emit('onmediaevent', event, this);
337
- }
338
- };
339
-
340
- let props_list = availabe_props;
341
-
342
- const isTypeOf = function(type, types) {
343
- if (types.indexOf('|') > 0) {
344
- var typeList = types.split('|');
345
- for(let i = 0; i < typeList.length; i++) {
346
- if (type === typeList[i])
347
- return true;
348
- }
349
- return false;
350
- }
351
-
352
- return type === types;
353
- }
354
-
355
- for (let prop in vm.$attrs) {
356
- var propType = typeof vm.$attrs[prop];
357
- if (prop in props_list && isTypeOf(propType, props_list[prop])) {
358
- if (propType === 'object')
359
- params[prop] = JSON.parse(JSON.stringify(vm.$attrs[prop])); // copy property
360
- else
361
- params[prop] = vm.$attrs[prop];
362
- }
363
- }
364
- //console.log(params)
365
- vm.zwplayer = new window.ZWPlayer(params);
366
-
367
- if(params.danmuBarId) {
368
- vm.zwplayer.buildDanmuControlbar(params.danmuBarId, 'vue-zwp-danmubar');
369
- }
370
-
371
- vm.old_murl = url;
372
- })
373
- },
374
-
375
- beforeDestroy() { // vue3.x beforeUnmount
376
- let vm = this;
377
- // console.log('beforeUnmount');
378
- if (vm.zwplayer) {
379
- vm.zwplayer.stop();
380
- }
381
- },
382
-
383
- destroyed() { // vue3.x unmounted
384
- let vm = this;
385
- // console.log('unmounted');
386
- if (vm.zwplayer) {
387
- vm.zwplayer.destroy();
388
- delete vm.zwplayer;
389
- }
390
- }
391
- }
392
- </script>
393
-