Files
ArtPlayer/packages/artplayer/src/player/playbackRateMix.js
T
2022-03-10 18:22:40 +08:00

29 lines
921 B
JavaScript

import { errorHandle, def } from '../utils';
export default function playbackRateMix(art) {
const {
template: { $video },
i18n,
notice,
} = art;
def(art, 'playbackRate', {
get() {
return $video.playbackRate;
},
set(rate) {
if (rate) {
if (rate === $video.playbackRate) return;
const rateList = [0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0, 3.0, 4.0];
errorHandle(rateList.includes(rate), `'playbackRate' only accept ${rateList.toString()} as parameters`);
$video.playbackRate = rate;
notice.show = `${i18n.get('Rate')}: ${rate === 1.0 ? i18n.get('Normal') : `${rate}x`}`;
art.emit('playbackRate', rate);
} else {
art.playbackRate = 1;
art.emit('playbackRate');
}
},
});
}