Files
ArtPlayer/packages/artplayer/src/contextmenu/playbackRate.js
T
2022-01-07 17:38:10 +08:00

34 lines
1.2 KiB
JavaScript

import { inverseClass, queryAll } from '../utils';
export default function playbackRate(option) {
return (art) => {
const { i18n } = art;
return {
...option,
html: `${i18n.get('Play speed')}:
<span data-rate="0.5">0.5</span>
<span data-rate="0.75">0.75</span>
<span data-rate="1.0" class="art-current">${i18n.get('Normal')}</span>
<span data-rate="1.25">1.25</span>
<span data-rate="1.5">1.5</span>
<span data-rate="2.0">2.0</span>
`,
click: (contextmenu, event) => {
const { rate } = event.target.dataset;
if (rate) {
art.playbackRate = Number(rate);
contextmenu.show = false;
}
},
mounted: ($menu) => {
art.on('playbackRate', (rate) => {
const $current = queryAll('span', $menu).find((item) => Number(item.dataset.rate) === rate);
if ($current) {
inverseClass($current, 'art-current');
}
});
},
};
};
}