mirror of
https://github.com/zhw2590582/ArtPlayer.git
synced 2026-10-16 01:26:16 -08:00
29 lines
921 B
JavaScript
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');
|
|
}
|
|
},
|
|
});
|
|
}
|