压缩字符

This commit is contained in:
Harvey committed 2019-11-27 15:46:55 +08:00
1 parent 2df60a78ff
commit 5f40463713
40 files changed
+385 -481

No files matched your search

@@ -41,7 +41,7 @@ export default function aspectRatioMix(art, player) {
}
$player.dataset.aspectRatio = ratio;
notice.show(`${i18n.get('Aspect ratio')}: ${ratio === 'default' ? i18n.get('Default') : ratio}`);
notice.show = `${i18n.get('Aspect ratio')}: ${ratio === 'default' ? i18n.get('Default') : ratio}`;
art.emit('aspectRatioChange', ratio);
} else if (player.aspectRatio) {
setStyle($video, 'width', null);
@@ -10,9 +10,6 @@ export default function attachUrlMix(art, player) {
get() {
return $video.src;
},
set() {
errorHandle(false, 'You should use this method: art.attachUrl()');
},
});
def(player, 'attachUrl', {
+2 -2
View File
@@ -64,14 +64,14 @@ export default function eventInit(art, player) {
sleep(1000).then(() => {
reconnectTime += 1;
player.attachUrl(option.url);
notice.show(`${i18n.get('Reconnect')}: ${reconnectTime}`);
notice.show = `${i18n.get('Reconnect')}: ${reconnectTime}`;
});
} else {
art.loading.show = false;
art.controls.show = false;
addClass($player, 'art-error');
sleep(1000).then(() => {
notice.show(i18n.get('Video load failed'), false);
notice.show = i18n.get('Video load failed');
art.destroy();
});
}
@@ -14,7 +14,7 @@ export default function fullscreenMix(art, player) {
};
const screenfullError = () => {
notice.show(i18n.get('Does not support fullscreen'));
notice.show = i18n.get('Does not support fullscreen');
};
if (player.fullscreenIsEnabled) {
+1 -1
View File
@@ -14,7 +14,7 @@ export default function pauseMin(art, player) {
set(value) {
if (value) {
$video.pause();
notice.show(i18n.get('Pause'));
notice.show = i18n.get('Pause');
art.emit('pause');
} else {
player.play = true;
+6 -6
View File
@@ -15,14 +15,14 @@ function nativePip(art, player) {
},
set(value) {
if (value) {
$video.requestPictureInPicture().catch(error => {
notice.show(error);
throw error;
$video.requestPictureInPicture().catch(err => {
notice.show = err;
throw err;
});
} else {
document.exitPictureInPicture().catch(error => {
notice.show(error);
throw error;
document.exitPictureInPicture().catch(err => {
notice.show = err;
throw err;
});
}
},
+3 -3
View File
@@ -2,10 +2,10 @@ import { def } from '../utils';
export default function playMix(art, player) {
const {
template: { $video },
i18n,
notice,
option: { mutex },
template: { $video },
} = art;
def(player, 'play', {
@@ -14,7 +14,7 @@ export default function playMix(art, player) {
const promise = $video.play();
if (promise !== undefined) {
promise.then().catch(err => {
notice.show(err, true, 3000);
notice.show = err;
throw err;
});
}
@@ -27,7 +27,7 @@ export default function playMix(art, player) {
});
}
notice.show(i18n.get('Play'));
notice.show = i18n.get('Play');
art.emit('play');
} else {
player.pause = true;
@@ -13,16 +13,12 @@ export default function playbackRateMix(art, player) {
},
set(rate) {
if (rate) {
if (rate === $player.dataset.playbackRate) return;
const rateList = [0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0];
errorHandle(rateList.includes(rate), `'playbackRate' only accept ${rateList.toString()} as parameters`);
if (rate === $player.dataset.playbackRate) {
return;
}
$video.playbackRate = rate;
$player.dataset.playbackRate = rate;
notice.show(`${i18n.get('Rate')}: ${rate === 1.0 ? i18n.get('Normal') : `${rate}x`}`);
notice.show = `${i18n.get('Rate')}: ${rate === 1.0 ? i18n.get('Normal') : `${rate}x`}`;
art.emit('playbackRateChange', rate);
} else if (player.playbackRate) {
player.playbackRate = 1;
@@ -15,9 +15,9 @@ export default function screenshotMix(art, player) {
canvas.height = $video.videoHeight;
canvas.getContext('2d').drawImage($video, 0, 0);
return canvas.toDataURL('image/png');
} catch (error) {
notice.show(error);
throw error;
} catch (err) {
notice.show = err;
throw err;
}
},
});
@@ -33,9 +33,9 @@ export default function screenshotMix(art, player) {
canvas.toBlob(blob => {
resolve(URL.createObjectURL(blob));
});
} catch (error) {
notice.show(error);
reject(error);
} catch (err) {
notice.show = err;
reject(err);
}
}),
});
+1 -1
View File
@@ -6,7 +6,7 @@ export default function seekMix(art, player) {
def(player, 'seek', {
set(time) {
player.currentTime = time;
notice.show(`${secondToTime(time)} / ${secondToTime(player.duration)}`);
notice.show = `${secondToTime(time)} / ${secondToTime(player.duration)}`;
art.emit('seek', time);
},
});
+22 -40
View File
@@ -3,53 +3,35 @@ import { def } from '../utils';
export default function switchMix(art, player) {
const { i18n, notice, option } = art;
function switchUrl(url, name, currentTime) {
if (url === player.url) return Promise.resolve(url);
URL.revokeObjectURL(player.url);
return player.attachUrl(url).then(() => {
option.url = url;
player.playbackRate = false;
player.aspectRatio = false;
art.once('video:canplay', () => {
player.currentTime = currentTime;
});
if (player.playing) {
player.play = true;
}
if (name) {
notice.show = `${i18n.get('Switch video')}: ${name}`;
}
art.emit('switch', url);
});
}
def(player, 'switchQuality', {
value: (url, name) => {
if (url !== player.url) {
URL.revokeObjectURL(player.url);
const { currentTime, playing } = player;
return player.attachUrl(url).then(() => {
option.url = url;
player.playbackRate = false;
player.aspectRatio = false;
art.on('ready', () => {
player.currentTime = currentTime;
});
if (playing) {
player.play = true;
}
if (name) {
notice.show(`${i18n.get('Switch video')}: ${name}`);
}
art.emit('switch', url);
});
}
return null;
return switchUrl(url, name, player.currentTime);
},
});
def(player, 'switchUrl', {
value: (url, name) => {
if (url !== player.url) {
URL.revokeObjectURL(player.url);
const { playing } = player;
return player.attachUrl(url).then(() => {
option.url = url;
player.playbackRate = false;
player.aspectRatio = false;
art.on('ready', () => {
player.currentTime = 0;
});
if (playing) {
player.play = true;
}
if (name) {
notice.show(`${i18n.get('Switch video')}: ${name}`);
}
art.emit('switch', url);
});
}
return null;
return switchUrl(url, name, 0);
},
});
}
+1 -1
View File
@@ -12,7 +12,7 @@ export default function volumeMix(art, player) {
get: () => $video.volume || 0,
set: percentage => {
$video.volume = clamp(percentage, 0, 1);
notice.show(`${i18n.get('Volume')}: ${parseInt($video.volume * 100, 10)}`);
notice.show = `${i18n.get('Volume')}: ${parseInt($video.volume * 100, 10)}`;
if ($video.volume !== 0) {
storage.set('volume', $video.volume);
}