mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-29 19:41:25 -08:00
优化结构
This commit is contained in:
1 parent
c6869686c3
commit
f2658673dc
6 files changed
+67
-102
No files matched your search
@@ -24,8 +24,12 @@
|
|||||||
|
|
||||||
new Artplayer({
|
new Artplayer({
|
||||||
container: '.artplayer',
|
container: '.artplayer',
|
||||||
url: function () {
|
url: $urlInput.value,
|
||||||
return this.plugins.artplayerPluginFlv.load($urlInput.value)
|
type: 'flv',
|
||||||
|
customType: {
|
||||||
|
flv: function(video, url) {
|
||||||
|
this.plugins.artplayerPluginFlv.init(video, url);
|
||||||
|
},
|
||||||
},
|
},
|
||||||
plugins: [artplayerPluginFlv]
|
plugins: [artplayerPluginFlv]
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -4,30 +4,6 @@
|
|||||||
(factory((global['artplayer-plugin-flv'] = {})));
|
(factory((global['artplayer-plugin-flv'] = {})));
|
||||||
}(this, (function (exports) { 'use strict';
|
}(this, (function (exports) { 'use strict';
|
||||||
|
|
||||||
function createCommonjsModule(fn, module) {
|
|
||||||
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
|
||||||
}
|
|
||||||
|
|
||||||
var _typeof_1 = createCommonjsModule(function (module) {
|
|
||||||
function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
|
|
||||||
|
|
||||||
function _typeof(obj) {
|
|
||||||
if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
|
|
||||||
module.exports = _typeof = function _typeof(obj) {
|
|
||||||
return _typeof2(obj);
|
|
||||||
};
|
|
||||||
} else {
|
|
||||||
module.exports = _typeof = function _typeof(obj) {
|
|
||||||
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
return _typeof(obj);
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = _typeof;
|
|
||||||
});
|
|
||||||
|
|
||||||
function _classCallCheck(instance, Constructor) {
|
function _classCallCheck(instance, Constructor) {
|
||||||
if (!(instance instanceof Constructor)) {
|
if (!(instance instanceof Constructor)) {
|
||||||
throw new TypeError("Cannot call a class as a function");
|
throw new TypeError("Cannot call a class as a function");
|
||||||
@@ -54,6 +30,30 @@
|
|||||||
|
|
||||||
var createClass = _createClass;
|
var createClass = _createClass;
|
||||||
|
|
||||||
|
function createCommonjsModule(fn, module) {
|
||||||
|
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
||||||
|
}
|
||||||
|
|
||||||
|
var _typeof_1 = createCommonjsModule(function (module) {
|
||||||
|
function _typeof2(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
|
||||||
|
|
||||||
|
function _typeof(obj) {
|
||||||
|
if (typeof Symbol === "function" && _typeof2(Symbol.iterator) === "symbol") {
|
||||||
|
module.exports = _typeof = function _typeof(obj) {
|
||||||
|
return _typeof2(obj);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
module.exports = _typeof = function _typeof(obj) {
|
||||||
|
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof2(obj);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return _typeof(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = _typeof;
|
||||||
|
});
|
||||||
|
|
||||||
function _assertThisInitialized(self) {
|
function _assertThisInitialized(self) {
|
||||||
if (self === void 0) {
|
if (self === void 0) {
|
||||||
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
|
||||||
@@ -287,11 +287,12 @@
|
|||||||
errorHandle(typeof window.fetch === 'function', "Unsupported 'fetch' method");
|
errorHandle(typeof window.fetch === 'function', "Unsupported 'fetch' method");
|
||||||
};
|
};
|
||||||
|
|
||||||
var CreatMediaSource = function CreatMediaSource(art) {
|
var CreatMediaSource = function CreatMediaSource(flv) {
|
||||||
classCallCheck(this, CreatMediaSource);
|
classCallCheck(this, CreatMediaSource);
|
||||||
|
|
||||||
this.mediaSource = new MediaSource();
|
this.mediaSource = new MediaSource();
|
||||||
this.url = URL.createObjectURL(this.mediaSource);
|
this.url = URL.createObjectURL(this.mediaSource);
|
||||||
|
flv.mediaElement.src = this.url;
|
||||||
};
|
};
|
||||||
|
|
||||||
var Flv =
|
var Flv =
|
||||||
@@ -305,41 +306,17 @@
|
|||||||
classCallCheck(this, Flv);
|
classCallCheck(this, Flv);
|
||||||
|
|
||||||
_this = possibleConstructorReturn(this, getPrototypeOf(Flv).call(this));
|
_this = possibleConstructorReturn(this, getPrototypeOf(Flv).call(this));
|
||||||
_this.support = new CheckSupport();
|
_this.mediaElement = mediaElement;
|
||||||
|
_this.url = url;
|
||||||
if (mediaElement) {
|
_this.support = new CheckSupport(assertThisInitialized(assertThisInitialized(_this)));
|
||||||
_this.attachMediaElement(mediaElement);
|
_this.mediaSource = new CreatMediaSource(assertThisInitialized(assertThisInitialized(_this)));
|
||||||
}
|
|
||||||
|
|
||||||
if (url) {
|
|
||||||
_this.loadUrl(url);
|
|
||||||
}
|
|
||||||
|
|
||||||
return _this;
|
return _this;
|
||||||
}
|
}
|
||||||
|
|
||||||
createClass(Flv, [{
|
createClass(Flv, [{
|
||||||
key: "attachMediaElement",
|
key: "destroy",
|
||||||
value: function attachMediaElement(mediaElement) {
|
value: function destroy() {
|
||||||
errorHandle(mediaElement instanceof HTMLVideoElement && mediaElement.tagName === 'VIDEO', "The 'mediaElement' does not seem to be a HTMLVideoElement");
|
console.log(this);
|
||||||
this.mediaElement = mediaElement;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: "loadUrl",
|
|
||||||
value: function loadUrl(url) {
|
|
||||||
var type = _typeof_1(url);
|
|
||||||
|
|
||||||
errorHandle(type === 'string', "The 'url' require 'string' type, but got '".concat(type, "'"));
|
|
||||||
this.url = url;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}, {
|
|
||||||
key: "start",
|
|
||||||
value: function start() {
|
|
||||||
this.mediaSource = new CreatMediaSource();
|
|
||||||
console.log('start');
|
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
}]);
|
}]);
|
||||||
|
|
||||||
@@ -349,14 +326,16 @@
|
|||||||
window.Flv = Flv;
|
window.Flv = Flv;
|
||||||
|
|
||||||
function artplayerPluginFlv(art) {
|
function artplayerPluginFlv(art) {
|
||||||
var $video = art.template.$video;
|
var flv = null;
|
||||||
var flv = new Flv($video);
|
art.on('destroy', function () {
|
||||||
return {
|
if (flv) {
|
||||||
load: function load(url) {
|
flv.destroy();
|
||||||
return new Promise(function (resolve) {
|
}
|
||||||
flv.loadUrl(url).start();
|
|
||||||
return resolve(flv.mediaSource.url);
|
|
||||||
});
|
});
|
||||||
|
return {
|
||||||
|
flv: flv,
|
||||||
|
init: function init(mediaElement, url) {
|
||||||
|
flv = new Flv(mediaElement, url);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"artplayer-plugin-flv.js","sources":["../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../packages/artplayer-plugin-flv/node_modules/tiny-emitter/index.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer-plugin-flv/src/flv/utils.js","../../packages/artplayer-plugin-flv/src/flv/checkSupport.js","../../packages/artplayer-plugin-flv/src/flv/creatMediaSource.js","../../packages/artplayer-plugin-flv/src/flv/index.js","../../packages/artplayer-plugin-flv/src/index.js"],"sourcesContent":["function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\nLine truncated
|
{"version":3,"file":"artplayer-plugin-flv.js","sources":["../../node_modules/@babel/runtime/helpers/classCallCheck.js","../../node_modules/@babel/runtime/helpers/createClass.js","../../node_modules/@babel/runtime/helpers/typeof.js","../../node_modules/@babel/runtime/helpers/assertThisInitialized.js","../../node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","../../node_modules/@babel/runtime/helpers/getPrototypeOf.js","../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../node_modules/@babel/runtime/helpers/inherits.js","../../packages/artplayer-plugin-flv/node_modules/tiny-emitter/index.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer-plugin-flv/src/flv/utils.js","../../packages/artplayer-plugin-flv/src/flv/checkSupport.js","../../packages/artplayer-plugin-flv/src/flv/creatMediaSource.js","../../packages/artplayer-plugin-flv/src/flv/index.js","../../packages/artplayer-plugin-flv/src/index.js"],"sourcesContent":["function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;","function _typeof2(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return _typeof2(obj);\n };\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;","var _typeof = require(\"../helpers/typeof\");\n\nvar assertThisInitialized = require(\"./assertThisInitialized\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;","var setPrototypeOf = require(\"./setPrototypeOf\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;","function E () {\n // Keep this empty so it's easier to inherit from\n // (via https://github.com/lipsmack from https://github.com/scottcorgan/tiny-emitter/issues/3)\n}\n\nE.prototype = {\n on: function (name, callback, ctx) {\n var e = this.e || (this.e = {});\n\n (e[name] || (e[name] = [])).push({\n fn: callback,\n ctx: ctx\n });\n\n return this;\n },\n\n once: function (name, callback, ctx) {\n var self = this;\n function listener () {\n self.off(name, listener);\n callback.apply(ctx, arguments);\nLine truncated
|
||||||
@@ -1,6 +1,7 @@
|
|||||||
export default class CreatMediaSource {
|
export default class CreatMediaSource {
|
||||||
constructor(art) {
|
constructor(flv) {
|
||||||
this.mediaSource = new MediaSource();
|
this.mediaSource = new MediaSource();
|
||||||
this.url = URL.createObjectURL(this.mediaSource);
|
this.url = URL.createObjectURL(this.mediaSource);
|
||||||
|
flv.mediaElement.src = this.url;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,40 +1,18 @@
|
|||||||
import Emitter from 'tiny-emitter';
|
import Emitter from 'tiny-emitter';
|
||||||
import CheckSupport from './checkSupport';
|
import CheckSupport from './checkSupport';
|
||||||
import CreatMediaSource from './creatMediaSource';
|
import CreatMediaSource from './creatMediaSource';
|
||||||
import { errorHandle } from './utils';
|
|
||||||
|
|
||||||
class Flv extends Emitter {
|
class Flv extends Emitter {
|
||||||
constructor(mediaElement, url) {
|
constructor(mediaElement, url) {
|
||||||
super();
|
super();
|
||||||
this.support = new CheckSupport();
|
|
||||||
if (mediaElement) {
|
|
||||||
this.attachMediaElement(mediaElement);
|
|
||||||
}
|
|
||||||
if (url) {
|
|
||||||
this.loadUrl(url);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
attachMediaElement(mediaElement) {
|
|
||||||
errorHandle(
|
|
||||||
mediaElement instanceof HTMLVideoElement && mediaElement.tagName === 'VIDEO',
|
|
||||||
"The 'mediaElement' does not seem to be a HTMLVideoElement",
|
|
||||||
);
|
|
||||||
this.mediaElement = mediaElement;
|
this.mediaElement = mediaElement;
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
loadUrl(url) {
|
|
||||||
const type = typeof url;
|
|
||||||
errorHandle(type === 'string', `The 'url' require 'string' type, but got '${type}'`);
|
|
||||||
this.url = url;
|
this.url = url;
|
||||||
return this;
|
this.support = new CheckSupport(this);
|
||||||
|
this.mediaSource = new CreatMediaSource(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
start() {
|
destroy() {
|
||||||
this.mediaSource = new CreatMediaSource();
|
console.log(this);
|
||||||
console.log('start');
|
|
||||||
return this;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,16 +1,19 @@
|
|||||||
import Flv from './flv';
|
import Flv from './flv';
|
||||||
|
|
||||||
function artplayerPluginFlv(art) {
|
function artplayerPluginFlv(art) {
|
||||||
const {
|
let flv = null;
|
||||||
template: { $video },
|
|
||||||
} = art;
|
art.on('destroy', () => {
|
||||||
const flv = new Flv($video);
|
if (flv) {
|
||||||
|
flv.destroy();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
return {
|
return {
|
||||||
load: url =>
|
flv,
|
||||||
new Promise(resolve => {
|
init: (mediaElement, url) => {
|
||||||
flv.loadUrl(url).start();
|
flv = new Flv(mediaElement, url);
|
||||||
return resolve(flv.mediaSource.url);
|
},
|
||||||
}),
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user