Files
ArtPlayer/packages/artplayer/src/player/urlMix.js
T
2019-11-28 11:26:19 +08:00

30 lines
829 B
JavaScript

import { getExt, def, sleep } from '../utils';
export default function urlMix(art, player) {
const {
option: { type, customType },
template: { $video },
} = art;
def(player, 'url', {
get() {
return $video.src;
},
set(url) {
const typeName = type || getExt(url);
const typeCallback = customType[typeName];
if (typeName && typeCallback) {
sleep().then(() => {
art.loading.show = true;
typeCallback.call(art, $video, url, art);
art.emit('customType', typeName);
});
} else {
$video.src = url;
art.option.url = url;
art.emit('urlChange', url);
}
},
});
}