mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-27 01:21:20 -08:00
add ts
This commit is contained in:
1 parent
965e3e008f
commit
95bbe6f3b2
8 files changed
+57
-98
No files matched your search
@@ -523,10 +523,6 @@
|
|||||||
},
|
},
|
||||||
poster: 'string',
|
poster: 'string',
|
||||||
title: 'string',
|
title: 'string',
|
||||||
type: {
|
|
||||||
type: 'string'
|
|
||||||
},
|
|
||||||
mimeCodec: 'string',
|
|
||||||
theme: 'string',
|
theme: 'string',
|
||||||
volume: 'number',
|
volume: 'number',
|
||||||
isLive: 'boolean',
|
isLive: 'boolean',
|
||||||
@@ -5660,6 +5656,11 @@
|
|||||||
get: function get() {
|
get: function get() {
|
||||||
return tinyEmitter;
|
return tinyEmitter;
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
key: "validator",
|
||||||
|
get: function get() {
|
||||||
|
return optionValidator;
|
||||||
|
}
|
||||||
}, {
|
}, {
|
||||||
key: "DEFAULTS",
|
key: "DEFAULTS",
|
||||||
get: function get() {
|
get: function get() {
|
||||||
@@ -5668,8 +5669,6 @@
|
|||||||
url: '',
|
url: '',
|
||||||
poster: '',
|
poster: '',
|
||||||
title: '',
|
title: '',
|
||||||
type: '',
|
|
||||||
mimeCodec: '',
|
|
||||||
theme: '#f00',
|
theme: '#f00',
|
||||||
volume: 0.7,
|
volume: 0.7,
|
||||||
isLive: false,
|
isLive: false,
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"artplayer.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/node_modules/tiny-emitter/index.js","../../packages/artplayer/node_modules/option-validator/dist/option-validator.js","../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer/src/utils/index.js","../../packages/artplayer/src/scheme/validElement.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/mimeCodec.js","../../packages/artplayer/src/config/mse.js","../../packages/artplayer/src/config/video.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n.js","../../packages/artplayer/src/player/attachUrlMix.js","../../packages/artplayer/src/player/attrInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMin.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchQualityMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/node_modules/get-size/get-size.js","../../packages/artplayer/node_modules/ev-emitter/ev-emitter.js","../../packages/artplayer/node_modules/unipointer/unipointer.js","../../packages/artplayer/node_modules/unidragger/unidragger.js","../../packages/artplayer/node_modules/draggabilly/draggabilly.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/index.js","../../packages/artplayer/src/utils/component.js","../../node_modules/@babel/runtime/helpers/objectSpread.js","../../packages/artplayer/src/icons/index.js","../../packages/artplayer/src/controls/fullscreen.js","../../packages/artplayer/src/controls/fullscreenWeb.js","../../packages/artplayer/src/controls/pip.js","../../packages/artplayer/src/controls/playAndPause.js","../../packages/artplayer/src/controls/progress.js","../../packages/artplayer/src/controls/subtitle.js","../../packages/artplayer/src/controls/time.js","../../packages/artplayer/src/controls/volume.js","../../packages/artplayer/src/controls/setting.js","../../packages/artplayer/src/controls/thumbnails.js","../../packages/artplayer/src/controls/screenshot.js","../../packages/artplayer/src/controls/quality.js","../../packages/artplayer/src/controls/index.js","../../packages/artplayer/src/contextmenu/playbackRate.js","../../packages/artplayer/src/contextmenu/aspectRatio.js","../../packages/artplayer/src/contextmenu/info.js","../../packages/artplayer/src/contextmenu/version.js","../../packages/artplayer/src/contextmenu/close.js","../../packages/artplayer/src/contextmenu/index.js","../../packages/artplayer/src/info.js","../../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/nonIterableRest.js","../../node_modules/@babel/runtime/helpers/slicedToArray.js","../../packages/artplayer/src/subtitle.js","../../packages/artplayer/src/events/clickInit.js","../../packages/artplayer/src/events/hoverInit.js","../../packages/artplayer/src/events/mousemoveInit.js","../../packages/artplayer/node_modules/resize-observer/lib/ContentRect.js","../../packages/artplayer/node_modules/resize-observer/lib/ResizeObservation.js","../../packages/artplayer/node_modules/resize-observer/lib/ResizeObserverEntry.js","../../packages/artplayer/node_modules/resize-observer/lib/ResizeObserver.js","../../packages/artplayer/src/events/reLine truncated
|
{"version":3,"file":"artplayer.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/node_modules/tiny-emitter/index.js","../../packages/artplayer/node_modules/option-validator/dist/option-validator.js","../../node_modules/@babel/runtime/helpers/defineProperty.js","../../node_modules/@babel/runtime/helpers/isNativeFunction.js","../../node_modules/@babel/runtime/helpers/construct.js","../../node_modules/@babel/runtime/helpers/wrapNativeSuper.js","../../packages/artplayer/src/utils/index.js","../../packages/artplayer/src/scheme/validElement.js","../../packages/artplayer/src/scheme/index.js","../../packages/artplayer/src/config/mimeCodec.js","../../packages/artplayer/src/config/mse.js","../../packages/artplayer/src/config/video.js","../../packages/artplayer/src/config/index.js","../../packages/artplayer/src/whitelist.js","../../packages/artplayer/src/template.js","../../packages/artplayer/src/i18n.js","../../packages/artplayer/src/player/attachUrlMix.js","../../packages/artplayer/src/player/attrInit.js","../../packages/artplayer/src/player/eventInit.js","../../packages/artplayer/src/player/playMix.js","../../packages/artplayer/src/player/pauseMin.js","../../packages/artplayer/src/player/toggleMix.js","../../packages/artplayer/src/player/seekMix.js","../../packages/artplayer/src/player/volumeMix.js","../../packages/artplayer/src/player/currentTimeMix.js","../../packages/artplayer/src/player/durationMix.js","../../packages/artplayer/src/player/switchQualityMix.js","../../packages/artplayer/src/player/playbackRateMix.js","../../packages/artplayer/src/player/aspectRatioMix.js","../../packages/artplayer/src/player/screenshotMix.js","../../packages/artplayer/node_modules/screenfull/dist/screenfull.js","../../packages/artplayer/src/player/fullscreenMix.js","../../packages/artplayer/src/player/fullscreenWebMix.js","../../packages/artplayer/node_modules/get-size/get-size.js","../../packages/artplayer/node_modules/ev-emitter/ev-emitter.js","../../packages/artplayer/node_modules/unipointer/unipointer.js","../../packages/artplayer/node_modules/unidragger/unidragger.js","../../packages/artplayer/node_modules/draggabilly/draggabilly.js","../../packages/artplayer/src/player/pipMix.js","../../packages/artplayer/src/player/loadedMix.js","../../packages/artplayer/src/player/playedMix.js","../../packages/artplayer/src/player/playingMix.js","../../packages/artplayer/src/player/autoSizeMix.js","../../packages/artplayer/src/player/flipMix.js","../../packages/artplayer/src/player/index.js","../../packages/artplayer/src/utils/component.js","../../node_modules/@babel/runtime/helpers/objectSpread.js","../../packages/artplayer/src/icons/index.js","../../packages/artplayer/src/controls/fullscreen.js","../../packages/artplayer/src/controls/fullscreenWeb.js","../../packages/artplayer/src/controls/pip.js","../../packages/artplayer/src/controls/playAndPause.js","../../packages/artplayer/src/controls/progress.js","../../packages/artplayer/src/controls/subtitle.js","../../packages/artplayer/src/controls/time.js","../../packages/artplayer/src/controls/volume.js","../../packages/artplayer/src/controls/setting.js","../../packages/artplayer/src/controls/thumbnails.js","../../packages/artplayer/src/controls/screenshot.js","../../packages/artplayer/src/controls/quality.js","../../packages/artplayer/src/controls/index.js","../../packages/artplayer/src/contextmenu/playbackRate.js","../../packages/artplayer/src/contextmenu/aspectRatio.js","../../packages/artplayer/src/contextmenu/info.js","../../packages/artplayer/src/contextmenu/version.js","../../packages/artplayer/src/contextmenu/close.js","../../packages/artplayer/src/contextmenu/index.js","../../packages/artplayer/src/info.js","../../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../../node_modules/@babel/runtime/helpers/nonIterableRest.js","../../node_modules/@babel/runtime/helpers/slicedToArray.js","../../packages/artplayer/src/subtitle.js","../../packages/artplayer/src/events/clickInit.js","../../packages/artplayer/src/events/hoverInit.js","../../packages/artplayer/src/events/mousemoveInit.js","../../packages/artplayer/node_modules/resize-observer/lib/ContentRect.js","../../packages/artplayer/node_modules/resize-observer/lib/ResizeObservation.js","../../packages/artplayer/node_modules/resize-observer/lib/ResizeObserverEntry.js","../../packages/artplayer/node_modules/resize-observer/lib/ResizeObserver.js","../../packages/artplayer/src/events/reLine truncated
|
||||||
@@ -4,6 +4,7 @@
|
|||||||
"description": "ArtPlayer is a modern HTML5 video player",
|
"description": "ArtPlayer is a modern HTML5 video player",
|
||||||
"main": "dist/artplayer.js",
|
"main": "dist/artplayer.js",
|
||||||
"style": "dist/artplayer.css",
|
"style": "dist/artplayer.css",
|
||||||
|
"types": "types/artplayer.d.ts",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "echo \"Error: no test specified\" && exit 1"
|
"test": "echo \"Error: no test specified\" && exit 1"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -54,14 +54,16 @@ class Artplayer extends Emitter {
|
|||||||
return Emitter;
|
return Emitter;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static get validator() {
|
||||||
|
return optionValidator;
|
||||||
|
}
|
||||||
|
|
||||||
static get DEFAULTS() {
|
static get DEFAULTS() {
|
||||||
return {
|
return {
|
||||||
container: '#artplayer',
|
container: '#artplayer',
|
||||||
url: '',
|
url: '',
|
||||||
poster: '',
|
poster: '',
|
||||||
title: '',
|
title: '',
|
||||||
type: '',
|
|
||||||
mimeCodec: '',
|
|
||||||
theme: '#f00',
|
theme: '#f00',
|
||||||
volume: 0.7,
|
volume: 0.7,
|
||||||
isLive: false,
|
isLive: false,
|
||||||
|
|||||||
@@ -1,85 +0,0 @@
|
|||||||
import { errorHandle, getExt } from './utils';
|
|
||||||
import config from './config';
|
|
||||||
|
|
||||||
export default class Mse {
|
|
||||||
constructor(art) {
|
|
||||||
this.art = art;
|
|
||||||
if (art.option.mse) {
|
|
||||||
this.init();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
init() {
|
|
||||||
const { player, events } = this.art;
|
|
||||||
this.setMimeCodec();
|
|
||||||
Object.defineProperty(player, 'returnUrl', {
|
|
||||||
value: () => {
|
|
||||||
this.mediaSource = new MediaSource();
|
|
||||||
const url = URL.createObjectURL(this.mediaSource);
|
|
||||||
this.eventBind();
|
|
||||||
events.destroyEvents.push(() => {
|
|
||||||
URL.revokeObjectURL(url);
|
|
||||||
});
|
|
||||||
return url;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
setMimeCodec() {
|
|
||||||
const { option } = this.art;
|
|
||||||
if (!option.type) {
|
|
||||||
const type = getExt(option.url);
|
|
||||||
errorHandle(
|
|
||||||
Object.keys(config.mimeCodec).includes(type),
|
|
||||||
`Can't find video's type '${type}' from '${option.url}'`,
|
|
||||||
);
|
|
||||||
option.type = type;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!option.mimeCodec) {
|
|
||||||
const mimeCodec = config.mimeCodec[option.type];
|
|
||||||
errorHandle(mimeCodec, `Can't find video's mimeCodec from ${option.type}`);
|
|
||||||
option.mimeCodec = mimeCodec;
|
|
||||||
}
|
|
||||||
|
|
||||||
errorHandle(
|
|
||||||
'MediaSource' in window && MediaSource.isTypeSupported(option.mimeCodec),
|
|
||||||
`Unsupported MIME type or codec: ${option.mimeCodec}`,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
eventBind() {
|
|
||||||
const {
|
|
||||||
option,
|
|
||||||
events: { proxy },
|
|
||||||
} = this.art;
|
|
||||||
const { mediaSource, sourceBufferList, sourceBuffer } = config.mse;
|
|
||||||
mediaSource.events.forEach(eventName => {
|
|
||||||
proxy(this.mediaSource, eventName, event => {
|
|
||||||
this.art.emit(`mediaSource:${event.type}`, event);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
sourceBufferList.events.forEach(eventName => {
|
|
||||||
proxy(this.mediaSource.sourceBuffers, eventName, event => {
|
|
||||||
this.art.emit(`sourceBuffers:${event.type}`, event);
|
|
||||||
});
|
|
||||||
proxy(this.mediaSource.activeSourceBuffers, eventName, event => {
|
|
||||||
this.art.emit(`activeSourceBuffers:${event.type}`, event);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.art.on('mediaSource:sourceopen', () => {
|
|
||||||
this.sourceBuffer = this.mediaSource.addSourceBuffer(option.mimeCodec);
|
|
||||||
sourceBuffer.events.forEach(eventName => {
|
|
||||||
proxy(this.sourceBuffer, eventName, event => {
|
|
||||||
this.art.emit(`sourceBuffer:${event.type}`, event);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
this.art.on('sourceBuffer:updateend', () => {
|
|
||||||
this.mediaSource.endOfStream();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -11,10 +11,6 @@ export default {
|
|||||||
},
|
},
|
||||||
poster: 'string',
|
poster: 'string',
|
||||||
title: 'string',
|
title: 'string',
|
||||||
type: {
|
|
||||||
type: 'string',
|
|
||||||
},
|
|
||||||
mimeCodec: 'string',
|
|
||||||
theme: 'string',
|
theme: 'string',
|
||||||
volume: 'number',
|
volume: 'number',
|
||||||
isLive: 'boolean',
|
isLive: 'boolean',
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"include": ["src"],
|
||||||
|
"compilerOptions": {
|
||||||
|
"lib": ["es2015"],
|
||||||
|
"strict": true
|
||||||
|
}
|
||||||
|
}
|
||||||
+39
@@ -0,0 +1,39 @@
|
|||||||
|
export default class Artplayer {
|
||||||
|
constructor(option: {
|
||||||
|
container: string | Element;
|
||||||
|
url: string;
|
||||||
|
poster?: string;
|
||||||
|
title?: string;
|
||||||
|
type?: string;
|
||||||
|
mimeCodec?: string;
|
||||||
|
theme?: string;
|
||||||
|
lang?: string;
|
||||||
|
volume?: number;
|
||||||
|
isLive?: boolean;
|
||||||
|
muted?: boolean;
|
||||||
|
autoplay?: boolean;
|
||||||
|
autoSize?: boolean;
|
||||||
|
loop?: boolean;
|
||||||
|
playbackRate?: boolean;
|
||||||
|
aspectRatio?: boolean;
|
||||||
|
screenshot?: boolean;
|
||||||
|
setting?: boolean;
|
||||||
|
hotkey?: boolean;
|
||||||
|
pip?: boolean;
|
||||||
|
mutex?: boolean;
|
||||||
|
fullscreen?: boolean;
|
||||||
|
fullscreenWeb?: boolean;
|
||||||
|
layers?: any[];
|
||||||
|
contextmenu?: any[];
|
||||||
|
quality?: any[];
|
||||||
|
controls?: any[];
|
||||||
|
highlight?: any[];
|
||||||
|
plugins?: any[];
|
||||||
|
whitelist?: any[];
|
||||||
|
thumbnails?: object;
|
||||||
|
subtitle?: object;
|
||||||
|
moreVideoAttr?: object;
|
||||||
|
icons?: object;
|
||||||
|
customType?: object;
|
||||||
|
});
|
||||||
|
}
|
||||||
Reference in new issue
Block a user