简化player接口

This commit is contained in:
Harvey Zack committed 2019-06-06 10:37:57 +08:00
1 parent 1b69b28ba1
commit 52b6693da2
41 files changed
+624 -690

No files matched your search

@@ -7,30 +7,25 @@ export default function playbackRateMix(art, player) {
notice,
} = art;
Object.defineProperty(player, 'playbackRateState', {
get: () => $player.dataset.playbackRate,
});
Object.defineProperty(player, 'playbackRate', {
value: rate => {
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`}`);
art.emit('playbackRateChange', rate);
get() {
return $player.dataset.playbackRate;
},
});
set(rate) {
if (rate) {
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`);
Object.defineProperty(player, 'playbackRateRemove', {
value: () => {
if (player.playbackRateState) {
player.playbackRate(1);
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`}`);
art.emit('playbackRateChange', rate);
} else if (player.playbackRate) {
player.playbackRate = 1;
delete $player.dataset.playbackRate;
art.emit('playbackRateRemove');
}
@@ -38,11 +33,13 @@ export default function playbackRateMix(art, player) {
});
Object.defineProperty(player, 'playbackRateReset', {
value: () => {
const { playbackRate } = $player.dataset;
if (playbackRate) {
player.playbackRate(Number(playbackRate));
art.emit('playbackRateReset');
set(value) {
if (value) {
const { playbackRate } = $player.dataset;
if (playbackRate) {
player.playbackRate = Number(playbackRate);
art.emit('playbackRateReset');
}
}
},
});